zoukankan      html  css  js  c++  java
  • Zabbix 安装及微信短信提醒

    Zabbix简介

    Zabbix 近几年得到了各大互联网公司的认可,当然第一点归功与它强大的监控功能,第二点免费开源也得到了广大用户的青睐。Zabbix 能将操作系统中的绝大部分指标进行监控,比如(CPU 负荷,内存使用,网络状况,端口监视,日志监视等等等等指标!)。监控指标的广度是一方面,它强大的功能特点也省去了很多的配置操作。

    Zabbix 功能特点:

    • 自动发现服务器和网络设备

    • 分布式监控网络,集中式管理(agent 、server 分开)

    • 监控指标模版丰富

    • 可灵活地分配用户权限

    • 系统各个指标的可视化展示和分析等等

    如何让 Zabbix 更加完美?

    虽然 Zabbix 在功能上非常强大,但是它在通知层面也并非十全十美:

    • 它现在的告警方式比较单一,默认支持邮件。
    • 相信很多运维工作者对短信的告警已经再熟悉不过了,甚至已经存在抵触的心理,但还是期望 Zabbix 可以支持短信。 Zabbix 支持的短信方式需要进行短信网关对接,复杂度较高。
    • 而且短信的告警并非是一个好的方式,虽然发送了告警信息,同样会存在疏漏的情况,而且这种情况发生的概率并不是很低。

    那么有效的告警方式、告警信息的到达率对运维同学具有很大的意义,相信也是小朋友们非常关注的。就算 Zabbix 监控的在全面和准确,但是如果没有及时的通知并解决,那么就是然并卵。酒再香总要卖出去,如果没有好的告警平台,总觉得 Zabbix 少了点什么。如果配上一个好的告警平台了,那么就 Perfect 了!分享个工具 OneAlert ,该平台可以通过简单的方式集成 Zabbix 告警。

    • 如果你是 Zabbix 的忠实粉丝,而且一直在使用它来监控服务器,是否想通过一个告警平台更好的将告警信息及时传达到您的手中?而且这个平台还可以进行事件的升级和排班等功能。

    • 如果你没使用过 Zabbix,但是也听说过它功能的强大之处,为何不一起加入 Zabbix 的大家庭中,来共同感受这个免费开源软件的魅力,以及带给我们的价值呢?

    那么本文将给您如何快速搭建 Zabbix 监控服务器,如何将 Zabbix 集成到OneAlert告警平台上,实现微信和短信通知。

    安装说明

    从0开始安装Zabbix

    如果你从来没有接触过 Zabbix ,请按照以下步骤安装 Zabbix ,下面以 Zabbix 2.4.1+OneAlert 实现监控和微信提醒

    • Zabbix 服务器: 10.128.17.136 CentOS 6.4 64bit
    • 被监控机器: 10.128.17.137 CentOS 6.4 64bit

    也可以参考官网安装

    Zabbix 集成在 OneAlert

    如果你对 Zabbix 非常熟悉或者机器中已经安装,请跳过安装步骤,直接进入OneAlert的报警设置。

    安装 Zabbix Server

    在服务器10.128.17.136上安装

    1.安装mysql

        # yum -y install mysql mysql-server mysql-devel
    

    MySQL 配置文件/etc/my.cnf中加入default-character-set=utf8

    `# vi /etc/my.cnf ` 加入`default-character-set=utf8 `
    
        # service mysqld start
    

    登陆,创建 Root 管理员

        # mysqladmin -u root password 123456
    

    登陆 MySQL

        # mysql -uroot -p123456
    

    创建 zabbix 数据库,并设置登陆权限

        mysql> create database zabbix character set utf8 collate utf8_bin;
    
    `mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>'; `(我设置的密码为123456)
    
        mysql> q
    

    2.安装 php、Apache

         # yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml httpd
    

    启动 Apache

        # service httpd start
    

    3. 安装 Zabbix Server 软件包

        # rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
    
        # yum install zabbix-server-mysql zabbix-web-mysql
    
        # yum install zabbix-agent
    

    将数据库文件导入到 zabbix 数据库中

        # cd /usr/share/doc/zabbix-server-mysql-2.4.0/create
    
        # mysql -uroot -p123456 zabbix < schema.sql(登陆的用户名和密码)
    
        # mysql -uroot -p123456 zabbix < images.sql
    
        # mysql -uroot -p123456 zabbix < data.sql
    

    编辑 zabbix-server 配置文件

        # vi /etc/zabbix/zabbix_server.conf
    
        DBHost=localhost
    
        DBName=zabbix
    

    DBUser=zabbix(上面赋予的登陆权限的用户名)

    DBPassword=123456(上面赋予登陆权限的密码)

        # 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 date.timezone Asia/Shanghai
    

    配置完成,重新启动zabbix_server

        #servcice zabbix-server restart
    

    登陆安装zabbix http://ip地址/zabbix(http://10.128.17.136/zabbix)

    如果此步骤出现问题,请确认/etc/httpd/conf.d/zabbix.conf 中的配置正确

    配置操作图如下所示:

    User 和 Password 为上面设置的用户名和密码
    DBUse r=zabbix(上面赋予的登陆权限的用户名)
    DBPassword =123456(上面赋予登陆权限的密码)

    输入 Hostname 与否都可以。

    Zabbix 安装完成

    安装 Zabbix Agent

    在被监控服务器10.128.17.137上安装Zabbix Agent

        #rpm -ivh http://repo.zabbix.com/zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
    
        #yum install zabbix-agent
    

    修改配置/etc/zabbix/zabbix_agentd.conf,将server设置Server=10.128.17.136

        #service zabbix-agent restart`
    

    Zabbix Agent 安装完毕后,需要登录 Zabbix Server加入该机器

    好了,Zabbix Agent 安装完毕。

    Zabbix 集成 OneAlert

    下载 OneAlert Agent

        #wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC4.tar.gz
    
        #tar xvf alert-agent-4.0.1-RC2.tar.gz
    
        #cp -R alert-agent /usr/lib/zabbix/alertscripts
    
        #cd /usr/lib/zabbix/alertscripts
    
        #chown -R zabbix:zabbix alert-agent
    
        #cp alert-agent/plugin/zabbix-plugin/110monitor/ usr/lib/zabbix/alertscripts/
    
        #chmod +x /usr/lib/zabbix/alertscripts/110monitor
    

    注意!源码安装的盆友需要注意看配置文件/etc/zabbix/zabbix_server.conf

        # AlertScriptsPath=/zabbix/alertscripts
    
        AlertScriptsPath=/usr/lib/zabbix/alertscripts
    

    请将 Agent 更新至 AlertScriptsPath 目录中

    alert-agent目录和110monitor需要放在同一级目录里面

    1.创建 110monitor 通知方式

    创建媒体类型 Media types,,“Administrator”->“Media types”->“Create media type”

    采用脚本模式script,脚本名为110monitor. 系统会在/usr/lib/zabbix/alertscripts/下查找上面的110monitor指令

    2.创建110monitor用户

    创建用户110monitor并设置通知媒介,登录 zabbix,“Administrator”->“Users”->“create user”

    • 110monitor 用户加入到"Zabbix Administrator 组"或者是新建组

    • 媒体类型,添加110monitor,并且设置appkey为发送目标

    • 设置所有权限"Zabbix Super Admin"

    新建 110monitor 用户

    设置媒介类型

    设置权限

    3.创建触发动作发送通知

    创建告警通知策略,"Configurationg"->"Actions"->"Create action"

    • 名称110monitor

    • 主题为triggerresolve,意味着告警触发和恢复都会同步到110monitor

    • 设置告警内容,注意冒号「:」前的内容不可变更,冒号「:」后的内容可以自行编辑

            alarmName:{TRIGGER.NAME}
            entityName:{HOSTNAME}
            entityId:{IPADDRESS}
            value:{TRIGGER.VALUE}
            eventId:{EVENT.ID}
            priority:{TRIGGER.SEVERITY}
            alarmContent:{IPADDRESS} {ITEM.NAME}:{ITEM.VALUE}
    

    注意!自行配制的通知模板是不行的,需要严格按照以上配置。

    4.测试验证

    将被监控机器 10.128.17.137 的 Ping 禁用下,验证一把。请确认该机器加了"Template ICMP Ping"监控模版,禁用 ping 测试是否正常通知

    #echo 1 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all
    禁 ping (看是否配置成功,成功就恢复 ping )

    #echo 0 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all 恢复 ping

    查看 Agent 日志,出现 sucess 字样代表成功,如果发送告警通知,则会同步发送微信、移动 app 、短信、邮件

         #tail -f /usr/lib/zabbix/alertscripts/alert-agent/log/agent.log
    

    正常返回success即表示成功

        15-05-2015 18:16:17,698 CST INFO  [main] [com.upyoo.agent.ZabbixClient@68] start to call alert ...
    
        15-05-2015 18:16:18,048 CST INFO  [main] [com.upyoo.agent.ZabbixClient@68] start to call alert ...
    
         15-05-2015 18:16:18,057 CST INFO  [main] [com.upyoo.agent.CommandClient@82] app:04b9832b-    14b4-4c61-343d-5926ff8af672
    
        15-05-2015 18:16:18,057 CST INFO  [main] [com.upyoo.agent.CommandClient@82]   eventType:trigger
    
        15-05-2015 18:16:18,059 CST INFO  [main] [com.upyoo.agent.CommandClient@82]     alarmName:10.128.17.137 is unavailable by ICMP
    
        15-05-2015 18:16:18,059 CST INFO  [main] [com.upyoo.agent.CommandClient@82] entityName:10.128.17.137
    
        15-05-2015 18:16:18,060 CST INFO  [main] [com.upyoo.agent.CommandClient@82] entityId:10.128.17.137
    
        15-05-2015 18:16:18,061 CST INFO  [main] [com.upyoo.agent.CommandClient@82] eventId:280
    
        15-05-2015 18:16:18,061 CST INFO  [main] [com.upyoo.agent.CommandClient@82]  priority:Average
    
        15-05-2015 18:16:18,062 CST INFO  [main] [com.upyoo.agent.CommandClient@82]   alarmContent:10.128.17.137 ICMP ping:Down (0)
    
        15-05-2015 18:16:18,067 CST INFO  [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.110monitor.com/alert/api/event
    
        15-05-2015 18:16:18,144 CST INFO  [main] [com.upyoo.agent.CommandClient@65] body: {"app":"04b9832b-14b4-4c61-343d-5926ff8af672","alarmContent":"10.128.17.137 ICMP ping:Down(0)","eventId":"280","priority":"3","entityId":"10.128.17.137","alarmName":"10.128.17.137 is  unavailable by ICMP","eventType":"trigger","entityName":"10.128.17.137"}
    
        15-05-2015 18:16:18,728 CST INFO  [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3690","totalCount":0,"code":"200"}
    

    5.微信告警

    添加成功之后,进入 OneAlert 控制台,用微信进行扫码即可用微信实现报警。

    6.电话短信报警

    通过设置提醒,可以选择告警的方式是电话、短信还是微信 APP 告警, OneAlert 提供多种方式和多策略的提醒方式

    完成

    恭喜你 完成 Zabbix 集成配置,微信即可接收告警提醒,并通过”我的告警“查询所有未处理告警哦。

    注意!注册完毕后默认仅发送邮件提醒,请关注微信号alert110,或者到用户 -> 具体用户下配置短信提醒规则。或参考提醒设置

    亲,到现在可以抛弃老的 139 邮箱、飞信、短信猫、qq 邮箱等间接短信配置提醒方式。

    本文系 OneAPM 工程师编译整理。想阅读更多技术文章,请访问 OneAPM 官方博客

  • 相关阅读:
    k8s集群中遇到etcd集群故障的排查思路
    keepalived安装
    python读取文件特定的行数
    Pycharm 退回跳转之前光标页面位置
    python中yield的用法详解——最简单,最清晰的解释
    np.random.permutation()解析
    处理文本分类数据集——THUCNews数据
    [深度学习] PyTorch 实现双向LSTM 情感分析
    lstm模型与情感分析实例
    跑Bert还得用tensorflow-1.11.0版本,否则报错
  • 原文地址:https://www.cnblogs.com/oneapm/p/4814782.html
Copyright © 2011-2022 走看看