Zabbix 安装及微信短信提醒
<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li>Zabbix简介</li></ul></div><p class="maodian"></p><h2>
Zabbix简介</h2>
<p>Zabbix 近几年得到了各大互联网公司的认可,当然第一点归功与它强大的监控功能,第二点免费开源也得到了广大用户的青睐。Zabbix 能将操作系统中的绝大部分指标进行监控,比如(CPU 负荷,内存使用,网络状况,端口监视,日志监视等等等等指标!)。监控指标的广度是一方面,它强大的功能特点也省去了很多的配置操作。</p>
<p>Zabbix 功能特点:</p>
<ul>
<li>自动发现服务器和网络设备</li>
<li>分布式监控网络,集中式管理(agent 、server 分开)</li>
<li>监控指标模版丰富</li>
<li>可灵活地分配用户权限</li>
<li>系统各个指标的可视化展示和分析等等</li>
</ul>
<h2 id="zabbix">如何让 Zabbix 更加完美?</h2>
<p>虽然 Zabbix 在功能上非常强大,但是它在通知层面也并非十全十美:</p>
<ul>
<li>它现在的告警方式比较单一,默认支持邮件。</li>
<li>相信很多运维工作者对短信的告警已经再熟悉不过了,甚至已经存在抵触的心理,但还是期望 Zabbix 可以支持短信。 Zabbix 支持的短信方式需要进行短信网关对接,复杂度较高。</li>
<li>而且短信的告警并非是一个好的方式,虽然发送了告警信息,同样会存在疏漏的情况,而且这种情况发生的概率并不是很低。</li>
</ul>
<p>那么有效的告警方式、告警信息的到达率对运维同学具有很大的意义,相信也是小朋友们非常关注的。就算 Zabbix 监控的在全面和准确,但是如果没有及时的通知并解决,那么就是然并卵。酒再香总要卖出去,如果没有好的告警平台,总觉得 Zabbix 少了点什么。如果配上一个好的告警平台了,那么就 Perfect 了!分享个工具 OneAlert ,该平台可以通过简单的方式集成 Zabbix 告警。</p>
<ul>
<li>如果你是 Zabbix 的忠实粉丝,而且一直在使用它来监控服务器,是否想通过一个告警平台更好的将告警信息及时传达到您的手中?而且这个平台还可以进行事件的升级和排班等功能。</li>
<li>如果你没使用过 Zabbix,但是也听说过它功能的强大之处,为何不一起加入 Zabbix 的大家庭中,来共同感受这个免费开源软件的魅力,以及带给我们的价值呢?</li>
</ul>
<p>那么本文将给您如何快速搭建 Zabbix 监控服务器,如何将 Zabbix 集成到<strong>OneAlert</strong> 告警平台上,实现微信和短信通知。</p>
<h2 id="">安装说明</h2>
<p><strong>从0开始安装Zabbix</strong></p>
<p>如果你从来没有接触过 Zabbix ,请按照以下步骤安装 Zabbix ,下面以 Zabbix 2.4.1+OneAlert 实现监控和微信提醒</p>
<ul>
<li>Zabbix 服务器: 10.128.17.136 CentOS 6.4 64bit</li>
<li>被监控机器: 10.128.17.137 CentOS 6.4 64bit</li>
</ul>
<p>也可以参考官网安装</p>
<p><strong>Zabbix 集成在 OneAlert</strong></p>
<p>如果你对 Zabbix 非常熟悉或者机器中已经安装,请跳过安装步骤,直接进入<strong>OneAlert</strong>的Zabbix报警设置。</p>
<h2 id="zabbixserver">安装 Zabbix Server</h2>
<p>在服务器10.128.17.136上安装</p>
<p><strong>1.安装mysql</strong></p><pre class="brush:bash;toolbar:false">\# yum -y install mysql mysql-server mysql-devel</pre><p>MySQL 配置文件<code>/etc/my.cnf</code>中加入<code>default-character-set=utf8</code></p>
<p><code>\# vi /etc/my.cnf</code> 加入<code>default-character-set=utf8 </code></p><pre class="brush:bash;toolbar:false">\# service mysqld start</pre><p>登陆,创建 Root 管理员</p><pre class="brush:bash;toolbar:false">\# mysqladmin -u root password 123456</pre><p>登陆 MySQL</p><pre class="brush:bash;toolbar:false">\# mysql -uroot -p123456</pre><p>创建 zabbix 数据库,并设置登陆权限</p><pre class="brush:bash;toolbar:false">mysql> create database zabbix character set utf8 collate utf8_bin;</pre><p><code>mysql> grant all privileges on zabbix.* to zabbix@localhost identified by '<password>';</code>(我设置的密码为123456)</p><pre class="brush:bash;toolbar:false">mysql> \q</pre><p><strong>2.安装 php、Apache</strong></p><pre class="brush:bash;toolbar:false">\ # yum install php php-mysql php-common php-gd php-mbstring php-mcrypt php-devel php-xml httpd</pre><p>启动 Apache</p><pre class="brush:bash;toolbar:false">\# service httpd start</pre><p><strong>3. 安装 Zabbix Server 软件包</strong></p><pre class="brush:bash;toolbar:false">\# 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</pre><p>将数据库文件导入到 zabbix 数据库中</p><pre class="brush:bash;toolbar:false">\# 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</pre><p>编辑 zabbix-server 配置文件</p><pre class="brush:bash;toolbar:false">\# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix</pre><p><code>DBUser=zabbix</code>(上面赋予的登陆权限的用户名)</p>
<p><code>DBPassword=123456</code>(上面赋予登陆权限的密码)</p><pre class="brush:bash;toolbar:false">\# vi /etc/httpd/conf.d/zabbix.conf</pre><p>将配置文件中替换成以下内容</p><pre class="brush:bash;toolbar:false">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</pre><p>配置完成,重新启动<code>zabbix_server</code></p><pre class="brush:bash;toolbar:false">\#servcice zabbix-server restart</pre><p>登陆安装<code>zabbix http://ip</code>地址<code>/zabbix(http://10.128.17.136/zabbix)</code></p>
<p>如果此步骤出现问题,请确认<code>/etc/httpd/conf.d/zabbix.conf</code>中的配置正确</p>
<p><strong>配置操作图如下所示:</strong></p>
<p></p>
<p></p>
<p>User 和 Password 为上面设置的用户名和密码<br>
DBUse r=zabbix(上面赋予的登陆权限的用户名)<br>
DBPassword =123456(上面赋予登陆权限的密码)</p>
<p>输入 Hostname 与否都可以。</p>
<p></p>
<p></p>
<p>Zabbix 安装完成</p>
<h2 id="zabbixagent">安装 Zabbix Agent</h2>
<p>在被监控服务器<code>10.128.17.137</code>上安装<code>Zabbix Agent</code></p><pre class="brush:bash;toolbar:false">\#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</pre><p>修改配置<code>/etc/zabbix/zabbix_agentd.conf</code>,将<code>server</code>设置<code>Server=10.128.17.136</code></p><pre class="brush:bash;toolbar:false">\#service zabbix-agent restart`</pre><p>Zabbix Agent 安装完毕后,需要登录 Zabbix Server加入该机器</p>
<p></p>
<p></p>
<p></p>
<p>好了,Zabbix Agent 安装完毕。</p>
<h2 id="zabbixonealert">Zabbix 集成 OneAlert</h2>
<p>下载 OneAlert Agent</p><pre class="brush:bash;toolbar:false">\#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</pre><p>注意!源码安装的盆友需要注意看配置文件<code>/etc/zabbix/zabbix_server.conf</code></p><pre class="brush:bash;toolbar:false">\# AlertScriptsPath=/zabbix/alertscripts
AlertScriptsPath=/usr/lib/zabbix/alertscripts</pre><p>请将 Agent 更新至 AlertScriptsPath 目录中</p>
<p><code>alert-agent</code>目录和<code>110monitor</code>需要放在同一级目录里面</p>
<p><strong>1.创建 110monitor 通知方式</strong></p>
<p>创建媒体类型 <code>Media types,,“Administrator”->“Media types”->“Create media type”</code></p>
<p>采用脚本模式<code>script</code>,脚本名为<code>110monitor</code>. 系统会在<code>/usr/lib/zabbix/alertscripts/</code>下查找上面的<code>110monitor</code>指令</p>
<p></p>
<p><strong>2.创建110monitor用户</strong></p>
<p>创建用户<code>110monitor</code>并设置通知媒介,登录 zabbix,<code>“Administrator”->“Users”->“create user”</code></p>
<ul>
<li>将<code>110monitor</code> 用户加入到<code>"Zabbix Administrator</code> 组"或者是新建组</li>
<li>媒体类型,添加<code>110monitor</code>,并且设置<code>appkey</code>为发送目标</li>
<li>设置所有权限<code>"Zabbix Super Admin"</code>
</li>
</ul>
<p>新建 110monitor 用户</p>
<p></p>
<p>设置媒介类型</p>
<p></p>
<p>设置权限</p>
<p></p>
<p><strong>3.创建触发动作发送通知</strong></p>
<p>创建告警通知策略,<code>"Configurationg"->"Actions"->"Create action"</code></p>
<ul>
<li>名称<code>110monitor</code>
</li>
<li>主题为<code>trigger</code>和<code>resolve</code>,意味着告警触发和恢复都会同步到<code>110monitor</code>
</li>
<li>设置告警内容,注意冒号「:」前的内容不可变更,冒号「:」后的内容可以自行编辑<br><pre class="brush:bash;toolbar:false">alarmName:{TRIGGER.NAME}
entityName:{HOSTNAME}
entityId:{IPADDRESS}
value:{TRIGGER.VALUE}
eventId:{EVENT.ID}
priority:{TRIGGER.SEVERITY}
alarmContent:{IPADDRESS} {ITEM.NAME}:{ITEM.VALUE}</pre></li>
</ul>
<p></p>
<p></p>
<p>注意!自行配制的通知模板是不行的,需要严格按照以上配置。</p>
<p></p>
<p><strong>4.测试验证</strong></p>
<p>将被监控机器 10.128.17.137 的 Ping 禁用下,验证一把。请确认该机器加了<code>"Template ICMP Ping"</code>监控模版,禁用 ping 测试是否正常通知</p>
<p><code>\#echo 1 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all</code> 禁 ping (看是否配置成功,成功就恢复 ping )</p>
<p><code>\#echo 0 > /proc/sys/net/ipv4/icmp\_echo\_ignore_all</code>恢复 ping</p>
<p>查看 Agent 日志,出现 sucess 字样代表成功,如果发送告警通知,则会同步发送微信、移动 app 、短信、邮件</p><pre class="brush:bash;toolbar:false">\#tail -f /usr/lib/zabbix/alertscripts/alert-agent/log/agent.log</pre><p>正常返回<code>success</code>即表示成功</p><pre class="brush:bash;toolbar:false">15-05-2015 18:16:17,698 CST INFO start to call alert ...
15-05-2015 18:16:18,048 CST INFO start to call alert ...
15-05-2015 18:16:18,057 CST INFO app:04b9832b- 14b4-4c61-343d-5926ff8af672
15-05-2015 18:16:18,057 CST INFO eventType:trigger
15-05-2015 18:16:18,059 CST INFO alarmName:10.128.17.137 is unavailable by ICMP
15-05-2015 18:16:18,059 CST INFO entityName:10.128.17.137
15-05-2015 18:16:18,060 CST INFO entityId:10.128.17.137
15-05-2015 18:16:18,061 CST INFO eventId:280
15-05-2015 18:16:18,061 CST INFO priority:Average
15-05-2015 18:16:18,062 CST INFO alarmContent:10.128.17.137 ICMP ping:Down (0)
15-05-2015 18:16:18,067 CST INFO start to post url:http://api.110monitor.com/alert/api/event
15-05-2015 18:16:18,144 CST INFO 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 isunavailable by ICMP","eventType":"trigger","entityName":"10.128.17.137"}
15-05-2015 18:16:18,728 CST INFO result:{"result":"success","message":null,"data":"3690","totalCount":0,"code":"200"}</pre><p><strong>5.微信告警</strong></p>
<p>添加成功之后,进入 OneAlert 控制台,用微信进行扫码即可用微信实现报警。</p>
<p></p>
<p><strong>6.电话短信报警</strong></p>
<p></p>
<p>通过设置提醒,可以选择告警的方式是电话、短信还是微信 APP 告警, OneAlert 提供多种方式和多策略的提醒方式</p>
<p><strong>完成</strong></p>
<p>恭喜你 完成 Zabbix 集成配置,微信即可接收告警提醒,并通过”我的告警“查询所有未处理告警哦。</p>
<p>注意!注册完毕后默认仅发送邮件提醒,请关注微信号<code>alert110</code>,或者到<code>用户 -> 具体用户</code>下配置短信提醒规则。或参考提醒设置</p>
<p>亲,到现在可以抛弃老的 139 邮箱、飞信、短信猫、qq 邮箱等间接短信配置提醒方式。</p>
<p><strong>OneAlert 是北京蓝海讯通科技有限公司旗下产品,中国首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有IT事件,提升IT可靠性。想了解更多信息,请访问 OneAlert 官网 。</strong></p>
頁:
[1]