zabbix安装使用

未经允许不得转载

第4章 *Zabbix监控*

可通过repo.zabbix.com下载部署包文件。该服务器同时提供yum和apt源码库。这里提供从部署包安装Zabbix的详细教程。

Zabbix-Server,是一个C/S和B/S结构

4.1 *zabbix大纲*

​ 0.单机监控

​ 1.安装zabbix

​ 2.zabbix基础架构

​ 3.监控一台主机

​ 4.自定义监控项(自己编写脚本->zabbix)

​ 5.自定义阈值(达到预警线)

​ 6.自定义动作(发邮件|执行命令)

​ 7.自定义报警

4.1.1 *单机监控*

综合性监控命令:glances

监控CPU: w、top、htop

​ %Cpu(s): 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

​ us 用户态: 跟用户的操作有关 阈值35%

​ sy 系统态: 跟内核的处理有关 阈值60%

​ id CPU空闲: 阈值5%

监控内存: free

[root@m02 ~]# free -m

​ total used free shared buff/cache available

Mem: 470 306 62 2 101 117

Swap: 3967 38 3929

监控磁盘:df(容量)、iotop(性能)

监控网络:ifconfig、route、glances、iftop、nethogs、netstat

iftop 中间的<= =>这两个左右箭头,表示的是流量的方向。

TX:发送流量、RX:接收流量、TOTAL:总流量

netstat -an|grep ESTABLISHED #查看状态

netstat -rn #查看路由信息

netstat -lntup

netstat -an

*例如**:*使用shell脚本来监控服务器内存

要求:每隔1分钟监控一次内存,当你的可用内存低于100m,发邮件报警,要求显示剩余内存

​ 1.怎么获取内存可用的值(free -m|awk '/^Mem/{print $NF}')

​ 2.获取到内存可用的值如何和设定的阈值进行比较

​ 3.比较如果大于100m则不处理,如果小于100则报警

​ 4.如何每隔1分钟执行一次

[root@m01 ~]# cat free.sh

#!/usr/bin/bash

HostName=$(hostname)_$(hostname -i)

Date=$(date +%F)

while true;do

​ Free=$(free -m|awk '/^Mem/{print $NF}')

​ if [ $Free -le 100 ];then

​ echo "$Date: $HostName Mem Is < ${Free}MB"

​ fi

​ sleep 5

done

*swp及内存性能*

随着时间的推移,用户不断的增多,服务随时可能扛不住会被oom(out of memory)

当系统内容不足的时候,会触发oom, 当内存不够会使用swap,当swap被大量占用。系统会特别卡。

#测试,没有swp,当内存被使用完毕时,系统会kill掉占用内存最大的进程。

[root@m01 ~]# dd if=/dev/zero of=/dev/null bs=800M

[root@m01 ~]# tail -f /var/log/messages

Out of memory: Kill process 2227 (dd) score 778 or sacrifice child

Killed process 2227 (dd) total-vm:906724kB, anon-rss:798820kB, file-rss:0kB

4.2 *Zabbix服务端安装*

从Zabbix官方的源码库安装

Zabbix SIA为Red Hat Enterprise Linux,Debian和Ubuntu LTS系统提供官方RPM和DEB部署包。

4.2.1 *安装源码库配置部署包*

安装源码库配置部署包。这个部署包包含了yum配置文件。

[root@m02 ~]# rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.noarch.rpm

4.2.2 *安装**软件*

安装Zabbix程序包,以及MySQL、Zabbix-agent

[root@m02 ~]# yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server

4.2.3 *创建数据表*

创建Zabbix数据库以及用户

#启动数据库,加入开机自启

[root@m01 ~]# systemctl enable mariadb

[root@m01 ~]# systemctl start mariadb

#创建表及授权用户

[root@zabbix-server ~]# mysql -uroot -p

MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;

MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';

4.2.4 *导入基础架构和数据*

[root@m01 ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.12/

[root@m01 ~]# zcat create.sql.gz |mysql -uroot zabbix

4.2.5 *zabbix配置文件*

启动Zabbix Server进程,在zabbix_server.conf中编辑数据库配置

[root@m01 ~]# vi /etc/zabbix/zabbix_server.conf

DBHost=localhost

DBName=zabbix

DBUser=zabbix

DBPassword=zabbix

# 启动Zabbix Server进程

[root@m01 ~]# systemctl enable zabbix-server

[root@m01 ~]# systemctl start zabbix-server

4.2.6 *PHP**配置文件*

编辑Zabbix前端的PHP配置,Zabbix前端的Apache配置文件位于 /etc/httpd/conf.d/zabbix.conf 。

[root@m01 ~]# vim /etc/httpd/conf.d/zabbix.conf

php_value max_execution_time 300

php_value memory_limit 128M

php_value post_max_size 16M

php_value upload_max_filesize 2M

php_value max_input_time 300

php_value max_input_vars 10000

php_value always_populate_raw_post_data -1

php_value date.timezone Asia/Shanghai

依据所在时区,你可以取消 “date.timezone”设置的注释,并正确配置它(Asia/Shanghai)。在配置文件更改后,需要重启Apache Web服务器。

[root@m01 ~]# systemctl enable httpd

[root@m01 ~]# systemctl start httpd

4.3 *zabbix客户端安装*

代理人采集本地数据

4.3.1 *安装*

[root@web03 ~]# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.12-1.el7.x86_64.rpm

Retrieving https://mirrors.aliyun.com/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.12-1.el7.x86_64.rpm

warning: /var/tmp/rpm-tmp.0ThA6X: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY

Preparing... ################################# [100%]

Updating / installing...

1:zabbix-agent-3.4.12-1.el7 ################################# [100%]

4.3.2 *配置*

#指定zabbix服务端(授权调取数据)

[root@web03 ~]# vim /etc/zabbix/zabbix_agentd.conf

Server=10.0.0.61 #指向Zabbix-Server

#如果有修改配置文件需要重启服务才能生效

[root@web03 ~]# systemctl restart zabbix-agent.service

4.3.3 *启动*

[root@web03 ~]# systemctl start zabbix-agent.service

[root@web03 ~]# systemctl enable zabbix-agent.service

#查看端口是否启动

[root@web03 ~]# netstat -lntp

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 2848/zabbix_agentd

验证

[root@m01 ~]# zabbix_agentd -p

4.4 *web**前端**添加配置*

img

添加主机

img

先点击添加模板样式,再点击下方的添加模块

img

#只有绿色图标才是正常监控

img

posted @ 2020-12-10 16:28  zhengjia1989  阅读(125)  评论(0编辑  收藏  举报