二进制安装zabbix4.0升级4.2并监控ssl证书过期

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 #如果发送邮件完全是英文的,可以只使用这一条

猜你喜欢

转载自blog.csdn.net/qq_44379042/article/details/120263139