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
账号为Adimn 密码为自己在配置文件中设置
1.2 修改字体
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Om7nnFTp-1602324525943)(C:\Users\xh\AppData\Roaming\Typora\typora-user-images\image-20200818185144035.png)]
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、创建钉钉机器人
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)]
本文详细介绍Zabbix监控系统的安装配置过程,包括环境搭建、数据库初始化、客户端配置、Web界面使用等,并介绍了如何实现自动添加主机及监控MySQL和Nginx等服务。
740

被折叠的 条评论
为什么被折叠?



