• zabbix3.4.7搭建及邮件告警


    Zabbix3.4.7部署

    系统环境:CentOs7.2

    1.关闭selinux

    1.1 [root@localhost ~]# setenforce 0 #临时关闭

    1.2 [root@localhost ~]# vi /etc/selinux/config #将selinux=enforcing改为SELINUX=disabled #永久关闭

    2.关闭防火墙

    2.1 [root@localhost ~]# systemctl stop firewalld.service #停止防火墙

    2.2 [root@localhost ~]# systemctl disable firewalld.service #禁止开机自启动

    3.zabbix3.4程序安装

    3.1 配置zabbix的yum源

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

    3.2安装zabbix程序包,安装mysql、zabbxi-agent

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

    3.3启动mariadb并设置开机启动,创建数据库实例,授权

    [root@localhost ~]# systemctl start mariadb #启动mariadb

    [root@localhost ~]# systemctl enable mariadb #设置开机启动

    [root@localhost ~]# mysql #登入数据库

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

    #创建数据库实例

    Query OK, 1 row affected (0.00 sec)

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

    #授权所有主机访问数据库实例zabbix,用户名/密码:zabbix/zabbix

    Query OK, 0 rows affected (0.00 sec)

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

    #授权localhost主机名访问数据库实例zabbix,用户名/密码:zabbix/zabbix

    Query OK, 0 rows affected (0.00 sec)

    MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@localhost.localdomain identified by 'zabbix'; #授权localhost.localdomain主机访问数据库实例zabbix,用户名/密码:zabbix/zabbix

    Query OK, 0 rows affected (0.00 sec)

    4.导入初始模式和数据

    4.1 进入create.sql.gz所在目录

    [root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.4/

    4.2 导入出事模式

    [root@localhost zabbix-server-mysql-3.4.4]# zcat create.sql.gz |mysql -uroot zabbix

    5.启动zabbix-server服务 (服务端部署)

    5.1 启动zabbix-server服务 (客户端部署)

    [root@localhost zabbix-server-mysql-3.4.4]# systemctl start zabbix-server

    5.2 设置zabbix-server服务开机自启动

    [root@localhost zabbix-server-mysql-3.4.4]# systemctl enable zabbix-server

    ou

    6.编辑Apache的配置文件,消注释设置正确的时区

    [root@localhost zabbix-server-mysql-3.4.4]# vi /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

    7.启动httpd服务 ,设置开机启动httpd服务

    7.1 启动httpd服务

    [root@localhost ~]# systemctl start httpd

    7.2 设置开机启动httpd服务

    [root@localhost ~]# systemctl enable httpd

    8.zabbix Web网页安装

    8.1 在浏览器输入地址http://服务器ip/zabbix/setup.php,出现欢迎界面,点击下一步;

    省略一部分

    在浏览器输入http://zabbix服务器ip/zabbix/index.php,输入管理员用户名Admin(区分大小写),默认密码zabbix,点击登入即可。

    解决图形界面乱码

    1. 控制面板-->字体-->选择一种中文字体 例如”楷体“ (simkai.ttf)

    2. 将我们下载好的字体上传到zabbix server端的/usr/share/zabbix/fonts目录下

    3. 修改/usr/share/zabbix/include/defines.inc.php文件中字体的配置,将里面graphfont替换成simkai

    zabbix邮件报警

    1. 安装软件包

    [root@localhost ~]# yum -y install mailx

    2. 给/bin目录下设置权限

    [root@localhost ~]# Chown -R zabbix.zabbix /bin/mail

    3. 编辑/etc/mail.rc

    [root@localhost ~]# vim /etc/mail.rc

    set from=15810060392@163.com

    set smtp=smtp.163.com

    set smtp-auth-user=15810060392@163.com #邮箱账号

    set smtp-auth-password=cheng12345 #客户端授权码

    set smtp-auth=login

    4. 测试mailx配置是否有问题

    [root@localhost ~]# echo test | mail -s "my name is shanpao" 15810060888@163.com #此收件箱为收邮件

    使用TSL加密协议465端口发送邮件

    [root@PLAY ~]# mkdir -p /root/.certs/                           ####创建目录,用来存放证书

    [root@PLAY ~]# echo -n | openssl s_client -connect smtp.163.com:465 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/.certs/163.crt ####向163请求证书

    depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA

    verify return:1

    depth=1 C = US, O = GeoTrust Inc., CN = GeoTrust SSL CA - G3

    verify return:1

    depth=0 C = CN, ST = Zhejiang, L = Hangzhou, O = "NetEase (Hangzhou) Network Co., Ltd", OU = MAIL Dept., CN = *.163.com

    verify return:1

    DONE

    [root@PLAY ~]# certutil -A -n "GeoTrust SSL CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt                  ####添加一个证书到证书数据库中

    [root@PLAY ~]# certutil -A -n "GeoTrust Global CA" -t "C,," -d ~/.certs -i ~/.certs/163.crt               ####添加一个证书到证书数据库中

    [root@PLAY ~]# certutil -L -d /root/.certs                                                                                         ####列出目录下证书

    Certificate Nickname Trust Attributes

    SSL,S/MIME,JAR/XPI

    GeoTrust SSL CA

    最后配置/etc/mail.rc

    set from=17737******@163.com
    set smtp=smtps://smtp.163.com:465
    set smtp-auth-user=17737******@163.com
    set smtp-auth-password=*********
    set smtp-auth=login
    set ssl-verify=ignore
    set nss-config-dir=/root/.certs

    现在发送测试邮件

    echo "zabbix test mail" | mail -s "zabbix" 1839623234233423@qq.com

    看起来已经成功了,但是发送完邮件还有报错:证书不被信任,且命令行就此卡住,需要按键才能出现命令提示符

     Error in certificate: Peer's certificate issuer is not recognized.

     于是

    [root@PLAY ~]# cd /root/.certs/
    [root@PLAY .certs]# ll
    total 80
    -rw-r--r-- 1 root root 1793 Jul 6 14:36 163.crt
    -rw------- 1 root root 65536 Jul 6 14:37 cert8.db
    -rw------- 1 root root 16384 Jul 6 14:37 key3.db
    -rw------- 1 root root 16384 Jul 6 14:37 secmod.db
    [root@PLAY .certs]# certutil -A -n "GeoTrust SSL CA - G3" -t "Pu,Pu,Pu" -d ./ -i 163.crt
    Notice: Trust flag u is set automatically if the private key is present.

    问题解决

    邮件告警配置

    管理-->报警媒介类型-->创建媒体类型

    三个必要参数:

    {ALERT.SENDTO}

    {ALERT.SUBJECT}

    {ALERT.MESSAGE}

    默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}

    主机:{HOST.NAME}

    IP:{HOST.IP}

    Trigger:{TRIGGER.NAME}

    Trigger status:{TRIGGER.STATUS}

    Trigger severity:{TRIGGER.SERERITY}

    Original event ID:{EVENT.ID}

    恢复操作:

    默认接收人:{TRIGGER.STATUS}: {TRIGGER.NAME}

    主机:{HOST.NAME}

    IP:{HOST.IP}

    Trigger:{TRIGGER.NAME}

    Trigger status:{TRIGGER.STATUS}

    Trigger severity:{TRIGGER.SERERITY}

    Original event ID:{EVENT.ID}

    (可以自定义)

    服务端配置完成后部署客户端

    客户端zabbix-agent安装省略

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

    Server=192.168.4.182 #填写Server端IP

    ServerActive=192.168.4.182 #填写监控端server端)IP

    Hostname=zabbix server #填写监控端创建主机时的用户名(或ip)

    5. 设置开机自启动并启动zabbix客户端

    systemctl start zabbix-agent

    systemctl enable zabbix-agent

    #Server端

    1.添加被监控主机的身份信息

    界面操作:配置-->主机-->创建主机

    填写Agent端信息

    主机名必须和Agent端的Hostname一致

    Agent代理端口必须和Agent端的Server=XXX.XXX.XXX.XXX 一致

    Server:  zabbix serverip地址,

    ServerActive: zabbix 主动监控serverip地址,

    其中ServerServerActive都指定zabbix ServerIP地址,不同的是,前者是被动后者是主动。也就是说Server这个配置是用来允许172.17.22.155这个ip来我这取数据。而ServerActive172.17.22.155的意思是,客户端主动提交数据给他。

    Hostname 主机名,必须唯一,区分大小写。Hostname必须和zabbix web上配置的一直,否则zabbix主动监控无法正常工作。因为agent拿着这个主机名去问server,我有配置主动监控项吗?server拿着这个主机名去配置里面查询,然后返回信息。

    zabbix agent检测分为主动(agent active)和被动(agent)两种形式,主动与被动的说法均是相对于agent来讨论的。

    主动:agent请求server获取主动的监控项列表,并主动将监控项内需要检测的数据提交给server/proxy

    被动:serveragent请求获取监控项的数据,agent返回数据。

  • 相关阅读:
    网络IO
    进程与线程
    计算机网络
    操作系统
    刷题笔记
    fasd
    线程池
    epoll反应堆
    read函数
    dup与dup2
  • 原文地址:https://www.cnblogs.com/haozheyu/p/9211962.html
Copyright © 2020-2023  润新知