12月 112017
 

以前使用cadvisor监控Docker容器状态,最近看到可以使用Zabbix Module的方式,通过部署一个zabbix agent的docker容器来监控宿主机器和宿主机器上docker的状态。原文可在https://github.com/monitoringartist/zabbix-docker-monitoring查看,我只是搬运工。

 

1.客户端配置

在需要监控的宿主机器上运行运行Agent容器

docker run \
  --name=dockbix-agent-xxl \
  --net=host \
  --privileged \
  -v /:/rootfs \
  -v /var/run:/var/run \
  --restart unless-stopped \
  -e "ZA_Server=192.168.0.252" \
  -e "ZA_ServerActive=192.168.0.252" \
  -d hub.c.163.com/canghai809/dockbix-agent-xxl-limited:latest

192.168.0.252为已经安装好的zabbix server的ip地址。具体根据自身情况修改,最好填写IP地址。由于Docker官方的hub在国内下载较慢,我已同步到网易蜂巢镜像,提供多个版本主要为Zabbix Agent版本区别和Dockbix版本区别。

Continue reading »

 Posted by at 下午 4:53
7月 192017
 

在使用puppet之前,先认识下puppet 配置文件和一些常用资源的使用

img

一、默认情况下,配置文件

默认的配置文件在/etc/puppet/下
1.auth.conf为认证配置文件
2.modules目录,里面存放一些自定义的模块,在manifests中调用,在modules某模块结构如下
manifests  #存放代码,另外init.pp必须存在
files       #存放用于同步到客户端的文件
templates  #存放模板
3.manifests目录,里面存放site.pp 程序主入口
4.fileserver.conf,文件服务配置文件,格式如下:
[tools]
path /etc/puppet/modules/
allow

Continue reading »

 Posted by at 下午 9:34
3月 262017
 

zabbix可支持短信,E-mail,脚本等告警方式。之前做过一个cacti通过微信告警的感觉还不错,比邮件好点,因为微信经常开,而邮件却很少看,所以做了一个zabbix微信告警的小工具。
微信的告警是通过微信公众账号发送客服消息告警的,后来发现一个问题,就是用户48小时之内不与公众账号交互,公众账号就不能向用户发送消息了。所以后来就放弃了,最近看到了微信企业号,感觉比之前的公众账号功能更多了,而且可以分应用了。所以就用企业号做了一个简单的zabbix告警小工具

申明:

1.此告警工具用是我的企业微信号告警的,所以要使用此工具的用户,必须要登记,登记之后我会在后台开通,关注之后才能使用此工具(微信企业号硬性需求,同时也是为了安全)
2.发送告警的信息只经过腾讯服务器,发送环节经过加密发送,在后台我也是看不到发送的告警信息的
3.如果用户没有自己的企业号,可以使用这个小工具发送告警信息。如果有自己的企业号,想用自己的企业号发送,可联系本人定制,具体费用请联系本人。
4.本工具只用来发送告警消息,切勿乱用,本人有权取消违规用户的账号!此工具为测试版本,限定测试人数100人,测试完成后,我会发布正式版本。
5.zabbix服务器必须可上外网,不需要有工网IP,能连接微信服务器即可。

工具特点:

*下载之后,在zabbix里简单配置即可用,工具本身无配置文件,无依赖
*可同时发送多人,发送人在zabbix里设置
*企业号发送,保证消息传递过程的安全
*无发送次数限制

工具下载:

Continue reading »

 Posted by at 下午 8:18
1月 212016
 

使用zabbix邮件发送告警消息,老是遇到发送程序出现问题,因此使用go结合开源的邮件库,写了一个smtp发邮件的程序
下载地址:[zabbix_mail.x86_64.tar.gz](https://dl.cactifans.com/tools/zabbix_mail.x86_64.tar.gz)
使用方法:
zabbix alertscripts 脚本路径为/usr/local/zabbix/alertscripts

cd /usr/local/zabbix/alertscripts
wget https://dl.cactifans.com/tools/zabbix_mail.x86_64.tar.gz
tar zxvf zabbix_mail.x86_64.tar.gz
rm -r zabbix_mail.x86_64.tar.gz
mv zabbix_mail/mail .
chmod a+x mail
mv zabbix_mail/cfg.json /etc/

编辑/etc/cfg.json配置SMTP邮件服务器信息

Continue reading »

 Posted by at 下午 5:18
3月 252015
 

接上一版本工具,对工具进行改进,发布新版本。

工具要求:

  • rrdtool 1.4版本以上,1.3以下版本不能用(rrdtool -v,可查看rrdtool版本)
  • linux系统,win版本和freebsd版本不打算做
  • 导出rrd文件为网络设备流量

功能概括:

  • 读取rrd文件最近更新288条数据到csv文件(也就是一天,5分钟一次)
  • 导出文件名为执行命令时间向前86400秒(24小时)
  • 导出文件内容为时间,流出,流入,单位Mbps
  • 支持参数设置导出目录,导入rrd文件列表,支持自定义step(导出数据可能减少),支持自定义log文件,纪录导出日志
  • 支持多文件同时导出

导出效果 Continue reading »

3月 242015
 

最近研究zabbix,发现默认的模版不能检测到Linux的服务以及端口,这样就不能基于端口对服务进行监控。通过查找,找到了办法。

1.调用服务

在github上有一个库,用go语言写的,功能类似于系统的netstat 命令,可查看端口和服务

github.com/drael/GOnetstat

当然你也可以自己用别的语言去实现,恰巧最近在学go语言,所以就用它的了,贴一个简单的获取tcp端口服务的程序
TCP/UDP

GOnetstat.Tcp()
GOnetstat.Udp() Continue reading »
9月 082014
 

环境:客户有200+网络设备,主要有几个批次,每月巡检,都需要把配置文件导出来,手工方式。。。
于是就用golang写来一个简单的工具,只便于自己使用,以后再慢慢修改完善
把设置名称写入信息表,格式如下:
01
第一列为设备Ip地址,第二列为设备描述(导出的配置文件名称部分),第三列为ssh登录用户名,第四列为ssh登录的密码
填写完成后,保存为info.csv文件
导出程序会读取info.csv文件的内容,用户网络环境需要先登录到一台跳板Linux服务器,再登录设备。登录设备后,把设备配置文件上传到tftp服务器
Continue reading »

 Posted by at 下午 1:22
7月 102014
 

Cacti可以通过Thold插件实现邮件报警,最近研究里下,用golang写了个可以实现用微信告警,简单修改下Thold,就可以实现。使用golang开发,sqlite3为数据库,微信公众平台API(http://mp.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5)。

效果如下图:

Screenshot_2014-07-09-23-45-21

目前已经可以正常使用,欢迎大家测试,提出意见建议。 Continue reading »