首页 > 代码库 > zabbix实例集群部署-偏向于管理使用

zabbix实例集群部署-偏向于管理使用

zabbix实例集群部署

前言:已经折腾两个礼拜了,本文侧重点不在于安装,在于使用管理。部署请看文档或者百度,,很简        单

提示:zabbix关于模板、应用集、主机组、触发器、等等命令一定要谨慎,不要随意,防止自己糊涂了

           主机组: 比如说,我的主机组用的是yunce56,因为我这个项目名称叫做yunce

           模板:zabbix自带的templates不够合理,我自己重新写,DIY。比如说我专门监                          控cpu,我可以写yunce-cpu-linux,里面建分类(也就是应用集)叫做yunce-cpu

                模板这一块多说几句,我一开始建模板时候,拿掉所有连接的模板和主机,建好之后                再根据主机组所需连接,我有mysql服务器组,我就建yunce-mysql来给这个主机组使用                连接,其余主机组不用。并且,主机组自行连接自己所需模板。(根据里面的监控项)

           应用集:也就是分类,这里面专门监控cpu,可以写5分钟/1分钟cpu使用平均值,或者瞬时                   cpu负载峰值之类的,反正很多情况自己diy

                  再例如memory,使用值、可用值、占用率、平均值,一定单独写模板放进去

           监控项:也就是项目,名称最好用中文名,在建监控项里面有描述这个空挡,可以自己写进                   去一些备注,键值百度走你。

           图形:你所建图形名称,就是监控中所见。最好中文

------------ 我的zabbix是接手别人的,后来打搞一下,没有推倒重搞,所以有点地方有悖于我的规范

准备:php环境,可以安装apache server服务,将zabbix的php文件放在/var/www/html处,用apache对外       提供访问,此处使用nginx:

    server {

        listen       83;

        server_name  localhost;

        charset utf-8;

        access_log  /data/logs/nginx/php.access.log  main;

        root         /data/www/php83;

        location = / {

           index index.php;

        }

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css|html|woff|ttf)$ {

            expires      30d;

        }

        location ~ \.php$ {

            root         /data/www/php83;

            fastcgi_pass   127.0.0.1:9000;

            fastcgi_index  index.php;

            fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;

            include        fastcgi_params;

        }

    } 

 记得php.ini文件默认,记得改变zabbix-server.conf文件

zabbix-server.conf:

 注意在要安装mysql服务。

ListenPort=10051

LogFile=/tmp/zabbix_server.log

PidFile=/tmp/zabbix_server.pid

DBHost=115.29.228.210

AlertScriptsPath=/etc/zabbix/alertscripts

DBName=zabbix

DBUser=root

DBPassword=root

DBSocket=/data/mysql/mysql.sock

DBPort=3309

JavaGateway=10.162.83.148   这是我另外服务器,属于zabbix-agentd

JavaGatewayPort=10052

StartJavaPollers=5

 


zabbix-agentd.conf          zabbix-sever那台服务器也要安装zabbix-agent。

PidFile=/data/zabbix/zabbix_agentd.pid

LogFile=/data/zabbix/zabbix_agentd.log

Server=10.161.132.121      zabbix-server的ip

ListenPort=10050

ServerActive=10.161.132.121

Hostname=yunce56_jumper    zabbix-agent的主机别名,这里,最好写成IP

Include=/etc/zabbix/zabbix_agentd.conf.d/*.conf


#-----------------------添加主机------------

    技术分享

#---------模板(如果乱了,会出现循环连接模板或者已经包括之类的报错,记得前言中命名规范)-

技术分享

#------------------主机组------------------

技术分享

#-----------------主机组和主机们------------

技术分享

#---------------图形-----------------------在模板下面建立

建图形

技术分享

技术分享

图形效果1

技术分享

图形效果2

技术分享

#--------------------------触发器-------------

技术分享

技术分享

触发器的表达式有点烦,不过,自己可以去网上自己百度,可以做到的

#------------------web监控,这里我是写url监控,监控报文头http返回状态码为200

     不过接口返回,也可以选择post返回,可以借助火狐httprequest

http返回状态码监控:

主机下点击web

技术分享


技术分享

技术分享

技术分享

------------接口的监控-------------------------

百度走你,需要填写贴上-头-要求的字串(截取就OK)

#----------------------下面来一波告警--------------------------

这里百度上的,我用的是sendmail,发件箱我写了自己的139账号-移动17年7月就关了邮箱短信提示了。。

注意sendmail的配置文件/etc/mail.rc

set bsdcompat

set from=zabbix@yunce56.com

set smtp=smtp.ym.163.com

set smtp-auth-user=zabbix@yunce56.com

set smtp-auth-password=***********     我马赛克了

set smtp-auth=login

用来发邮件的,自己可以看看是不是能发出去

echo "zabbix test mail.yunce" |mail -s "zabbix" zabbix@yunce56.com  看看收到否

下面是用脚本发邮件的。

技术分享

技术分享

这个zabbix-----------------关于邮件,我没发出去,一直很纳闷,关键是脚本没调用。这就日了狗了

      排查到脚本没调用,但是我在监控中故意报警,提示发了邮件并且成功了。这是个问题

不过我借助了oneapm来报警了

http://www.iyunv.com/thread-138138-1-1.html    看看这介个

来看一下报警用户

技术分享

技术分享

技术分享

报警效果图在这边

技术分享

技术分享

技术分享

这是oneAPM分别的邮件报警,微信报警,短信报警

这边我使用了短信报警,使用了人家短信接口,我尝试着用网建sms监控,联通的sms接口,都是超过5条就收费,NND,oneapm走起吧,但是oneapm免费版只能用两种方式,也就是报警人多的话,没办法了

这边只能领到用短信报警,我和其他人用微信报警,

根本的方法是,重新推翻我的前面运维写的zabbix,自己搞,邮箱报警太邪门了,自己搞。一顺溜下来。呼呼哈哈交工

#-------------------------------------总结-----------------------------

之前也搞过nagios,并且成功给线上使用了,但是怎么讲呢

自己总结

nagios简单操作,但是配置文件复杂度超过zabbix

      nagios安装不简单,但是安装好操作监控项很好,用的是插件监控,nrpe命令,插件在libexac里     面,check-cpu、check-ping、之类的,低版本的 2.*版本的nagios还不支持监控mem,后来是我自      己写插件进去的,所以说,nagios永远没有zabbix普及,ganglia之类的监控就是渣渣

zabbix高扩展特别强,可以自己写脚本监控,监控shell脚本,文件的变化,比如说/etc/passwd超级重      要,安装简单,但是用起来,可得用心了,尤其是触发器表达式,难!不过还好,钻进去好好研究      就OK。这就是百度上很少人能写怎么用,都是关于怎么安装的。这些人,骗骗下载量,金币啥的还      行。

本文中关于zabbix,适合百台以上监控,但是安装可能超级难,还是自动化,建议于机房合作,做自动        化安装,无人托管,加salt,批量化可以的。



zabbix实例集群部署-偏向于管理使用