centos7
zebbix4.0
1 二进制zabbix4.0版本升级为4.2版本。配置ssl监控
备份/usr/share/zabbix、/usr/share/doc/zabbix-*和/etc/zabbix/zabbix_server.conf,包括数据库
官方文档
https://www.zabbix.com/documentation/4.2/manual/installation/upgrade/packages/rhel_centos
nginx
server {
listen 80;
server_name ip;
#charset koi8-r;
access_log /var/log/nginx/zabbix/zabbix.access.log main;
error_log /var/log/nginx/zabbix/zabbix_error.log error;
location / {
root /home/wwwroot/xingka/starspot;
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
root /home/wwwroot/xingka/starspot;
#fastcgi_pass 127.0.0.1:9000;
fastcgi_pass unix:/dev/shm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#location /ngx_status
#{
# stub_status on;
# access_log off;
#}
#新增机器时,去掉此ip拒绝
include /etc/nginx/IPrules.conf;
}
注意事项
在/home/wwwroot/xingka/starspot/
把zabbix32/fonts/simkai.ttf字体文件复制过去(3.4是同样目录,4.0是assets/fonts目录下)
修改include/defines.inc.php,把ZBX_FONT_NAME、ZBX_GRAPH_FONT_NAME字体名改成simkai
设置nginx访问权限:/etc/zabbix/web,否则php权限错误
[root@zabbix_server conf.d]# ll /etc/zabbix/
total 84
drwxr-x--- 2 www www 4096 Sep 13 16:18 web
-rw-r--r-- 1 www www 10339 May 19 2017 zabbix_agentd.conf
-rw-r--r-- 1 www www 10939 Oct 28 2019 zabbix_agentd.conf.rpmnew
drwxr-xr-x 2 www www 4096 Oct 28 2019 zabbix_agentd.d
-rw-r----- 1 www www 14953 Nov 16 2017 zabbix_server.conf
-rw-r----- 1 www www 14876 May 18 2017 zabbix_server.conf.bak
-rw-r----- 1 www www 17568 Oct 28 2019 zabbix_server.conf.rpmnew
zabbix页面配置中午后显示方框,如何处理
在windows复制字体到zabbix存放字体的目录。并设置软链接
[root@zabbix_server alternatives]# ln -s /home/wwwroot/xingka/starspot/zabbix/assets/fonts/simkai.ttf /etc/alternatives/zabbix-web-font
3 添加ssl证书过期的监控脚本,以及模板
[root@zabbix_server ~]# cat /usr/lib/zabbix/externalscripts/ssl_certificates_check.sh
#!/bin/bash
time=`openssl s_client -servername $1 -connect $1:443 2>/dev/null | openssl x509 -noout -dates 2>/dev/null | grep notAfter | cut -d'=' -f2`
time1=`date +%s -d "$time"`
time2=$(( $time1 - `date +%s`))
time3=$(( $time2 / 24 / 3600 ))
echo $time3
chown zabbix.zabbix /usr/lib/zabbix/externalscripts/ssl_certificates_check.sh
chmod +x /usr/lib/zabbix/externalscripts/ssl_certificates_check.sh
~~~
openssl 检验和验证SSL证书。
s_client是openssl命令行插件中的客户端部分,使用openssl命令进行ssl连接,命令如:
openssl s_client -cert ./sm2_pki.cer -key ./priv.key -cipher ECC-SM4-SM3 -connect ip:port
0——标准输入(stdin)
1——标准输出(stdout)
2——标准错误(stderr)
标准输出——stdout
-servername $1 因一台主机存在多个证书,利用SNI特性检查
openssl x509 -text 解码证书信息,包含证书的有效期。
打印证书的过期时间 openssl x509 -in signed.crt -noout -dates
cut -d 指定分隔符
-f2 打印第二列
date +%s //从 1970 年 1 月 1 日 00:00:00 UTC 到目前为止的秒数(时间戳),即查看当前时间
-d ,--date=字符串 显示指定字符串所描述的时间,而非当前时间
~~~
添加一个userparameter_ssl_certificates_check.conf文件
vim /etc/zabbix/zabbix_agentd.d/userparameter_ssl_certificates_check.conf
UserParameter=ssl_check[*], /usr/lib/zabbix/externalscripts/ssl_certificates_check.sh $1
~~~
UserParameter=
其中,Userparameter为关键字,key为用户自定义key名字可以随便起,为我们要运行的命令或者脚本
语法
UserParameter=key[*],command
key:key的值在主机系统中必须是唯一的,其中*代表命令中接受的参数
command:客户端系统中可执行的命令
~~~
[root@zabbix_server ~]# chown zabbix.zabbix /etc/zabbix/zabbix_agentd.d/userparameter_ssl_certificates_check.conf
[root@zabbix_server ~]# ll /etc/zabbix/zabbix_agentd.d/userparameter_ssl_certificates_check.conf
-rw-r--r-- 1 zabbix zabbix 76 Sep 13 11:05 /etc/zabbix/zabbix_agentd.d/userparameter_ssl_certificates_check.conf
重启zabbix-agent
systemctl restart zabbix-agent
测试脚本
[root@zabbix_server ~]# zabbix_get -s 127.0.0.1 -p 10050 -k ssl_check[www.baidu.com]
322
添加主机,以下的键值都是一样的
配置—主机—创建主机
添加监控项
添加触发器
触发器的这个时间根据情况自行设置,我这里以30天为单位
{主机名:ssl_check[域名].last()}<=15
{主机名:
ssl_check
[域名]
.last()}<=15
问题表现形式设置ssl证书小于等于30天触发警告
{www.baidu.com_sslcheck:ssl_check[www.baidu.com].last()}<=15
恢复表达式设置ssl证书大于30天恢复警告
{www.baidu.com_sslcheck:ssl_check[www.baidu.com].last()}>15
添加图像
查看图形
添加微信报警媒介并关联一个账户
查看zabbix官网微信添加报警
http://repository.grandage.cn/pages/viewpage.action?pageId=1312495
关联用户
将报警媒介关联动作
添加邮件报警
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
/usr/lib/zabbix/alertscripts/sendmail.sh
#!/bin/bash
file=/tmp/zabbix_mail.txt #报警信息
echo "$3" > $file
dos2unix -k $file
/usr/bin/mail -s "$2" $1 < $file
# echo "$3" | mail -s "$2" $1 #如果发送邮件完全是英文的,可以只使用这一条