05.27 zabbix服务系统监控

来源:互联网 发布:恋爱的双马尾 知乎 编辑:程序博客网 时间:2024/05/17 21:40

第一章 网站可用性

所谓网站可用性(availability)也即网站正常运行时间的百分比,业界用N个9来量化可用性,最常说的就是类似4个9(也就是99.99%)的可用性。

描述 通俗叫法 可用性级别 年度停机时间 基本可用性 2个9 99% 87.6小时 较高可用性 3个9 99.9% 8.8小时 具有故障自动回复能力的可用性 4个9 99.99% 53分钟 极高可用性 5个9 99.999% 5分钟

第二章 服务器的硬件监控

  1. 【温度】
  2. 【风扇转速】
  3. 【电压电流】
  4. 【远程管理卡】
  5. 【ipmitools】命令监控
yum -y install OpenIPMI ipmitool[root@KVM ~]# ipmitool sdr type TemperatureTemp             | 01h | ns  |  3.1 | DisabledTemp             | 02h | ns  |  3.2 | DisabledTemp             | 05h | ns  | 10.1 | DisabledTemp             | 06h | ns  | 10.2 | DisabledAmbient Temp     | 0Eh | ok  |  7.1 | 22 degrees CPlanar Temp      | 0Fh | ns  |  7.1 | DisabledIOH THERMTRIP    | 5Dh | ns  |  7.1 | DisabledCPU Temp Interf  | 76h | ns  |  7.1 | DisabledTemp             | 0Ah | ns  |  8.1 | DisabledTemp             | 0Bh | ns  |  8.1 | DisabledTemp             | 0Ch | ns  |  8.1 | Disabled

第三章 系统监控

1. CPU监控

【lscpu】查看cpu信息[root@ansible01-61 ~]# lscpu Architecture:          x86_64CPU op-mode(s):        32-bit, 64-bitByte Order:            Little EndianCPU(s):                1On-line CPU(s) list:   0Thread(s) per core:    1Core(s) per socket:    1Socket(s):             1NUMA node(s):          1Vendor ID:             GenuineIntel【uptime】查看系统负载[root@m01 ~]# uptime09:23:50 up 33 min,  1 user,  load average: 0.00, 0.01, 0.03【top】查看系统运行情况top - 19:21:07 up 36 min,  1 user,  load average: 0.00, 0.01, 0.05Tasks:  92 total,   1 running,  91 sleeping,   0 stopped,   0 zombie%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 stKiB Mem :   999936 total,   588488 free,    98748 used,   312700 buff/cacheKiB Swap:  1048572 total,  1048572 free,        0 used.   731792 avail Mem    PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                                                                                           1 root      20   0  125396   3960   2408 S  0.0  0.4   0:01.41 systemd                                                                                                                                           2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd                                                                                                                                          3 root      20   0       0      0      0 S  0.0  0.0   0:00.10 ksoftirqd/0                                                                                                                                       4 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kworker/0:0                                                                                                                                       6 root      20   0       0      0      0 S  0.0  0.0   0:00.13 kworker/u256:0                                                                                                                                    7 root      rt   0       0      0      0 S  0.0  0.0   0:00.00 migration/0                                                                                                                                       8 root      20   0       0      0      0 S  0.0  0.0   0:00.00 rcu_bh                                                                                                                                            9 root      20   0       0      0      0 S  0.0  0.0   0:00.30 rcu_sched                                                                                                                                        10 root      rt   0       0      0      0 S  0.0  0.0   0:00.01 watchdog/0                                                                                                                                       12 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 khelper                                                                                                                                          13 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kdevtmpfs                                                                                                                                        14 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 netns                                                                                                                                            15 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd                                                                                                                                       16 root       0 -20       0      0      0 S  0.0  0.0   0:00.00 writeback             【htop】top升级版[root@ansible01-61 ~]# htop  CPU[||                                                                                         1.2%]   Tasks: 28, 35 thr; 1 running  Mem[|||||||||||||||||||||||||||||||||||||||||                                             127M/976M]   Load average: 0.00 0.01 0.05   Swp[                                                                                       0K/1024M]   Uptime: 00:47:36   PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command  1415 root       20   0  540M 16436  5784 S  0.0  1.6  0:00.00 /usr/bin/python -Es /usr/sbin/tuned -l -P  1418 root   20   0  540M 16436  5784 S  0.0  1.6  0:00.00 /usr/bin/python -Es /usr/sbin/tuned -l -P  1420 root   20   0  540M 16436  5784 S  0.0  1.6  0:00.34 /usr/bin/python -Es /usr/sbin/tuned -l -P  1425 root   20   0  540M 16436  5784 S  0.0  1.6  0:00.00 /usr/bin/python -Es /usr/sbin/tuned -l -P  1215 root       20   0  540M 16436  5784 S  0.0  1.6  0:00.51 /usr/bin/python -Es /usr/sbin/tuned -l -P

2. 内存监控

【free -h】[root@ansible01-61 ~]# free -h              total        used        free      shared  buff/cache   availableMem:           976M         96M        574M        6.7M        305M        714MSwap:          1.0G          0B        1.0G

3. 磁盘监控

df -h】[root@ansible01-61 ~]# df -hFilesystem      Size  Used Avail Use% Mounted on/dev/sda3        48G  1.8G   47G   4% /devtmpfs        479M     0  479M   0% /devtmpfs           489M     0  489M   0% /dev/shmtmpfs           489M  6.7M  482M   2% /runtmpfs           489M     0  489M   0% /sys/fs/cgroup/dev/sda1      1014M  133M  882M  14% /boottmpfs            98M     0   98M   0% /run/user/0dd】测试写速度[root@m01 ~]# dd if=/dev/zero of=test.data bs=100M count=22+0 records in2+0 records out209715200 bytes (210 MB) copied, 0.99772 s, 210 MB/shdparm -t /dev/sda】测试读速度[root@ansible01-61 ~]# hdparm -t /dev/sda1/dev/sda1: Timing buffered disk reads: 1024 MB in  1.44 seconds = 710.31 MB/seciotop】[root@ansible01-61 ~]# iotop Total DISK READ :       0.00 B/s | Total DISK WRITE :       0.00 B/sActual DISK READ:       0.00 B/s | Actual DISK WRITE:       0.00 B/s   TID  PRIO  USER     DISK READ  DISK WRITE  SWAPIN     IO>    COMMAND                                                                                                                                                1 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % systemd --switched-root --system --deserialize 21     2 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kthreadd]     3 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [ksoftirqd/0]     4 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/0:0]     6 be/4 root        0.00 B/s    0.00 B/s  0.00 %  0.00 % [kworker/u256:0]

5. 网络监控

【iftop】实时显示网卡流量[root@m01 ~]# iftop -i eth0【nethogs】[root@m01 ~]# yum -y install iftop nethogs

6. TCP监控

【ss/netstat】[root@ansible01-61 ~]# ss -antState      Recv-Q Send-Q        Local Address:Port        Peer Address:Port  LISTEN     0      128                       *:111                    *:*     LISTEN     0      128                       *:22                     *:*     【lsof】

7. 进程监控

[root@ansible01-61 ~]# ps -efUID         PID   PPID  C STIME TTY          TIME CMDroot          1      0  0 18:44 ?        00:00:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 21root          2      0  0 18:44 ?        00:00:00 [kthreadd]root          3      2  0 18:44 ?        00:00:00 [ksoftirqd/0]root          4      2  0 18:44 ?        00:00:00 [kworker/0:0]

8. 服务监控

第四章 一切皆可监控

监控项 说明 硬件监控: 1通过远程控制卡:DEll的IDRAC,HP的ILO和IBM的IMM等。2使用IPMI来完成物理设备的监控工作。通长必须要监控的就是温度、硬盘故障等。3路由器,交换机(端口,日志),打印机,windows等 系统监控: cpu,内存,硬盘使用率,硬盘IO,系统负载,进程数 服务监控: apache,nginx,php-fpm,MySQL,memcache,redis,Tomcat,JVM,TCP连接数 性能监控: 网站性能,服务器性能,数据库性能,存储性能 日志监控: 系统会产生系统日志,应用程序会有应用的访问日志、错误日志,服务有运行日志等,可以使用ELK来进行日志监控 安全监控: 1nginx+Lua编写了一个WAF通过kibana可以图形化的展示不同的攻击类型的统计。2用户登录数,passwd文件变化,本地所有文件改动 网络监控: 端口,web(URL),DB,ping包,IDC带宽网络流量,网络流出流出速率,网络入流量,网络出流量,网络使用率,SMTP 业务监控: 用户登录失败次数,用户登录网站次数,输入验证码失败次数,网络连接数,电商网站订单,支付交易的数量,总订单数,平均订单数 流量分析: pv,uv,并发连接数,独立IP 数

这里写图片描述

第五章 zabbix监控工具服务端安装

1. 安装zabbix源和依赖包

axel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-agent-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-get-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-java-gateway-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-mysql-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-proxy-pgsql-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-sender-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-server-mysql-3.2.1-1.el7.x86_64.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-3.2.1-1.el7.noarch.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-japanese-3.2.1-1.el7.noarch.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-mysql-3.2.1-1.el7.noarch.rpmaxel http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-web-pgsql-3.2.1-1.el7.noarch.rpmyum install zabbix-agent-3.2.1-1.el7.x86_64.rpm zabbix-get-3.2.1-1.el7.x86_64.rpm zabbix-java-gateway-3.2.1-1.el7.x86_64.rpm zabbix-proxy-mysql-3.2.1-1.el7.x86_64.rpm zabbix-sender-3.2.1-1.el7.x86_64.rpm zabbix-server-mysql-3.2.1-1.el7.x86_64.rpm zabbix-web-3.2.1-1.el7.noarch.rpm zabbix-web-japanese-3.2.1-1.el7.noarch.rpm zabbix-web-mysql-3.2.1-1.el7.noarch.rpm yum install -y httpd mariadb

编译安装(可忽略)

编译安装zabbix
同时安装server和agent,并支持将数据放入mysql数据中,可使用类似如下配置命令:
./configure –enable-server –enable-agent –with-mysql –enable-ipv6 –with-net-snmp –with-libcurl –with-ssh2

如果仅安装server,并支持将数据放入MySQL数据中,可使用类似如下配置命令;
./configure –enable-server –with-mysql –with-net-snmp –with-libcurl

如果仅安装proxy,并支持将数据放入MySQL数据中,可使用类似如下配置命令;
./configure –prefix=/usr –enable-proxy –with-net-snmp –with-mysql –with-ssh2

如果仅安装agent,可使用类似如下配置命令;
./configure –enable-agent

而后编译安装zabbix即可;
#make && make install

2. 配置MySQL

/etc/init.d/mysqld startmysql -uroot -e"create database zabbix character set utf8 collate utf8_bin;"mysql -e "grant all on zabbix.* to 'zbxuser'@'localhost' identified by 'zbxpass';"mysql -e "flush privileges;"

3. 导入数据到MySQL

zcat create.sql.gz |mysql -uzbxuser -pzbxpass zabbix

4. 配置PHP修改PHP最大配置

sed -i 's#max_execution_time = 30#max_execution_time = 300#;s#max_input_time = 60#max_input_time = 300#;s#post_max_size = 8M#post_max_size = 16M#;910a date.timezone = Asia/Shanghai' /etc/php.ini

5. 配置zabbix配置文件数据库用户密码

sed -i '/DBUser=/cDBUser=zbxuser' /etc/zabbix/zabbix_server.confsed -i '115a DBPassword=zbxpass' /etc/zabbix/zabbix_server.conf

6. 配置zabbix网页配置

cp -R /usr/share/zabbix/ /var/www/html/chmod -R 755 /etc/zabbix/webchown -R apache.apache /etc/zabbix/web echo "ServerName 127.0.0.1:80">>/etc/httpd/conf/httpd.conf

7. 服务启动顺序

/etc/init.d/mysqld startsystemctl start httpd.servicesystemctl start zabbix-server.service

8. 查看网页

10.0.0.61/zabbix  #这里你的服务器IP地址

第六章 zabbix客户端安装

1. 下载zabbix-agent包

rsync -avP root@172.16.1.61:/root/zabbix-agent-3.2.6-1.el7.x86_64.rpm /root/yum localinstall zabbix-agent-3.2.6-1.el7.x86_64.rpm

2. 修改服务端IP地址

sed -i 's#Server=127.0.0.1#Server=172.16.1.61#' /etc/zabbix/zabbix_agentd.confsed -i '/serverActive/cServerActive=172.16.1.61' /etc/zabbix/zabbix_agentd.conf

3. 启动agent

systemctl start zabbix-agent.service systemctl status zabbix-agent.service

第七章 解决网页显示中文乱码问题

yum install -y wqy-microhei-fonts\cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

第八章 自定义监控修改配置文件

1. 客户端执行

sed -i '294a UserParameter=login_user,who|wc -l' /etc/zabbix/zabbix_agentd.confsystemctl restart zabbix-agent

2. 服务端执行

zabbix_get -s 172.16.1.7 -p 10050 -k "login_user"

3. 示例自定义监控

[root@web01 zabbix_agentd.d]# pwd/etc/zabbix/zabbix_agentd.d[root@web01 zabbix_agentd.d]# cat userparameter_nginx.conf UserParameter=nginx_active,curl -s  127.0.0.1/nginx_status|awk '/Active/ {print $NF}'UserParameter=nginx_accepts,curl -s  127.0.0.1/nginx_status|awk 'NR==3 {print $1}'UserParameter=nginx_handled,curl -s  127.0.0.1/nginx_status|awk 'NR==3 {print $2}'UserParameter=nginx_requests,curl -s  127.0.0.1/nginx_status|awk 'NR==3 {print $3}'UserParameter=nginx_reading,curl -s  127.0.0.1/nginx_status|awk 'NR==4 {print $2}'UserParameter=nginx_writing,curl -s  127.0.0.1/nginx_status|awk 'NR==4 {print $4}'UserParameter=nginx_waiting,curl -s  127.0.0.1/nginx_status|awk 'NR==4 {print $6}'[root@web01 zabbix_agentd.d]# /etc/init.d/zabbix-agent restart######status#########    server {        listen       127.0.0.1:80;            stub_status on;            access_log off;        }

第九章 web页面配置

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述