Zabbix 监控服务

本文详细介绍Zabbix监控系统的安装配置过程,包括环境搭建、数据库初始化、客户端配置、Web界面使用等,并介绍了如何实现自动添加主机及监控MySQL和Nginx等服务。

Zabbix 监控服务

一、zabbix基础安装部署

zabbix服务器 centos 7:192.168.88.22

1、配置标准环境

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

2、安装LAMP环境

yum -y install mariadb mariadb-server httpd php php-mysql 
systemctl enable httpd
systemctl restart httpd
systemctl enable mariadb
systemctl restart mariadb
mysql_secure_installation
#初始化数据库,创建密码、删除测试库,禁止root远程连接等

3、安装zabbix

3.1、无网安装

把打包好的rpm包导入linux

tar -zxvf zabbix.tar.gz 
cd /zabbix
yum -y install ./*
3.2、有网安装
rpm -ivh  http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
#导入zabbix的repo
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
#导入证书
yum -y install zabbix-server-mysql zabbix-web-mysql  zabbix-agent
#若安装失败,需要下载rpm进行安装

4、zabbix服务器配置

4.1、初始化数据库
mysql -u root -p
CREATE DATABASE zabbix DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;
#创建zabbix库
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';  
#授予权限
4.2、还原数据库
cd /usr/share/doc/zabbix-server-mysql-3.2.11
zcat create.sql.gz | mysql -uroot -p  zabbix
4.3、启动 Zabbix 服务
vim /etc/zabbix/zabbix_server.conf
    DBHost=localhost
    DBName=zabbix
    DBUser=zabbix
    DBPassword=zabbix			#登录密码
systemctl start zabbix-server
systemctl enable zabbix-server
4.4、编辑 zabbix 前端 php 配置
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 always_populate_raw_post_data -1
    php_value date.timezone Asia/Shanghai
    #修改时区
vim /etc/httpd/conf/httpd.conf 
	DocumentRoot "/usr/share/zabbix"		#修改默认主页
systemctl restart httpd
4.5、调整时间同步
4.5.1、ntp 调整
yum -y install ntpdate
ntpdate -u ntp1.aliyun.com 
4.5.2、chrony 调整
yum -y install chrony ntpdate
vim /etc/chrony.conf
ntpdate -u ntp1.aliyun.com
systemctl start chronyd
systemctl enable chronyd

5、zabbix客户端配置

vim /usr/local/zabbix/etc/zabbix_agentd.configure
    LogFile=/tmp/zabbix_agentd.log
    Server= 192.168.88.22 		#服务器IP地址
    ServerActive= 192.168.88.22	#服务器IP地址
    Hostname=192.168.88.22		#本机IP地址
service start zabbix-agentd

6、修改中文乱码

#方法一、
Win+R > fonts > 拷贝微软雅黑字体改名为 msyh.ttf  > /usr/share/zabbix/fonts
#方法二、
vim /usr/share/zabbix/include/defines.inc.php
	修改 zabbix php 页面配置,将'graphfont' 修改为 msyh define('ZBX_GRAPH_FONT_NAME', 'msyh');

二、zabbix的web界面

1、登录与简单设置

1.1 浏览器输入192.168.88.22
image-20200818184837467 image-20200818184953548

账号为Adimn 密码为自己在配置文件中设置

1.2 修改字体

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Om7nnFTp-1602324525943)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818185144035.png)]

image-20200818185354446
1.3 创建主机

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cZBh9hjl-1602324525948)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818185631137.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HBCvccEz-1602324525951)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818185723378.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RC3RxPgn-1602324525956)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818185831596.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RPrnrqsN-1602324525957)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818190431257.png)]

1.4、报警

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-W2Xm2Ou6-1602324525959)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818190500800.png)]

三、自动添加主机

1、被监测机器配置

yum -y install zabbix-agent-3.2.11-1.el6.x86_64.rpm
vim /usr/local/zabbix/etc/zabbix_agentd.configure
    LogFile=/tmp/zabbix_agentd.log
    Server= 192.168.88.22 		#服务器IP地址
    ServerActive= 192.168.88.22	#服务器IP地址
    Hostname=192.168.88.11		#本机IP地址
service start zabbix-agentd

2、服务器配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Hq1IBQ7B-1602324525961)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818191730578.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D4C05mbO-1602324525964)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818191852522.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-piWTPkul-1602324525965)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818192008674.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Pahlp2HP-1602324525967)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818192036630.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yE3H7Rie-1602324525969)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818192121057.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NrSNQYn8-1602324525970)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818193625271.png)]

四、zabbix检测MySQL

1、MySQL服务器

在上边的基础上,安装MySQL

1.1、创建用户,赋予能够被Zabbix监控的权力

mysql> GRANT ALL ON *.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabbix';
mysql> FLUSH PRIVILEGES;

1.2、配置用户连接信息

vi /etc/zabbix/.my.cnf
    [client]
    user=zabbix
    password=zabbix

1.3、修改userparameter_mysql.conf文件

cd /etc/zabbix/zabbix_agentd.d
mv userparameter_mysql.conf_default userparameter_mysql.conf
vi userparameter_mysql.conf
	修改两处HOME=为/etc/zabbix

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-COQ9iMvr-1602324525971)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818194031849.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cqJsB9SW-1602324525972)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818194451911.png)]

五、zabbix监测nginx

1、nginx服务器

1.1、开启 Nginx 自带状态统计模块
useradd -s /sbin/nologin -m nginx
yum -y install zlib zlib-devel pcre pcre-devel
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
make
make install
vi /usr/local/nginx/conf/nginx.conf
	location /ngx_status {
		stub_status on;
	}
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx 
1.2、安装zabbix-agent,

​ 方法同上

1.3、编写客户端脚本
cd /etc/zabbix/zabbix_agentd.d/
vim ngx-status.sh 
#!/bin/bash 
HOST="127.0.0.1"
PORT="80"	 
# 检测 nginx 进程是否存在
function ping {
	/sbin/pidof nginx | wc -l 
}
# 检测 nginx 性能
function active {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}	
function reading {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}	
function writing {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}	
function waiting {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
function accepts {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
function handled {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}	
function requests {
	/usr/bin/curl "http://$HOST:$PORT/ngx_status/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
# 执行function
$1

chmod a+x ngx-status.sh

1.4、在客户端添加自定义脚本规则
UnsafeUserParameters=1
UserParameter=nginx.status[*]./etc/zabbix/zabbix_agentd.d/ngx-status.sh $1
service zabbix-agent restart
1.5、在服务器端使用 zabbix-get 测试脚本获取数据情况
/usr/local/zabbix-3.0.0/bin/zabbix_get -s 10.10.1.121 -k  'nginx.status[accepts]'
/usr/local/zabbix-3.0.0/bin/zabbix_get -s 10.10.1.121 -k 'nginx.status[ping]'

2、配置 Nginx 服务器并添加 Nginx 监控模板

2.1、模板导入

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NvV9zhkz-1602324525974)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818194227827.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-53aRGXGg-1602324525975)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818194304812.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-d9BA0abZ-1602324525977)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818201042471.png)]

六、zabbix钉钉报警

1、创建钉钉机器人

image-20200819150652256

2、配置告警脚本路径

[root@localhost ~]# vim /etc/zabbix/zabbix_server.conf
	AlertScriptsPath=/usr/lib/zabbix/alertscripts
[root@localhost ~]# cd /usr/lib/zabbix/alertscripts/
[root@localhost alertscripts]# vim token.sh
#!/bin/bash
to=$1
subject=$2
text=$3
curl 'https://oapi.dingtalk.com/robot/send?access_token=758cefbfde6108910a29fad7e35edd9ff76255df5ac16871ad7cf03b2262a7fc' \
    -H 'Content-Type: application/json' \
    -d '
    {"msgtype": "text",
        "text": {
            "content": "'"$text"'"
        },
        "at":{
            "atMobiles": [ 
                "'"$1"'" 
        ],
        "isAtAll": false
        }
    }'

3、配置执行文件权限与归属

[root@localhost alertscripts]# chown zabbix.zabbix token.sh
[root@localhost alertscripts]# chmod +x token.sh

4、web端配置

4.1、创建脚本媒介
# 再添加以下 3 个参数,分别对应脚本需要的 3 个参数:收件人地址、主题、详细内容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uuDzKgwy-1602324525979)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819145709555.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XUvWuDWi-1602324525982)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819145645247.png)]

4.2、创建动作

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lu21nerm-1602324525983)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819145827300.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JaeSbAbi-1602324525985)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819145902316.png)]

# 标题改为:
故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!
# 信息改为:
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FIeyxVc5-1602324525987)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819150125763.png)]

# 标题改为
恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!
# 信息改为
告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6tY5a7sT-1602324525989)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819150324027.png)]

4.3 修改用户权限

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0cW0fN3d-1602324525991)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819150525840.png)]

5、测试结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WN1K39PL-1602324525992)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200819150811965.png)]

务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

信息改为

告警主机:{HOSTNAME1}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息: {TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
事件 ID:{EVENT.ID}


[外链图片转存中...(img-6tY5a7sT-1602324525989)]

#### 4.3 修改用户权限

[外链图片转存中...(img-0cW0fN3d-1602324525991)]





### 5、测试结果

[外链图片转存中...(img-WN1K39PL-1602324525992)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值