日前写了一个zabbix的监控脚本来监控kubernetes集群,主要用于报警的功能。性能监控还是使用其它方式来实现。

github URL

https://github.com/farmerluo/k8s_zabbix

k8s_zabbix说明

k8s_zabbix实现了使用zabbix监控kubernetes的ingress,hpa,pod状态等功能。

Template Check K8S Cluster Status.xml:zabbix模板,可通过此文件导入到zabbix

check_k8s_status.py:kubernetes的监控脚本

userparameter_k8s.conf:zabbix agent端的配置文件,需要注意脚本的路径

阅读全文

目录

JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

上面的介绍有点绕,我是这么简单粗暴地理解的:JMX之于JVM或JAVA,相当于SNMP之于OS。只是JMX比SNMP更强大,除了监控外,还可以通过JMX对JAVA程序进行管理,如更改一些配置等。

Zabbix已经集成JMX,可以用Zabbix通过JMX监控JVM,TOMCAT,Weblogic,Jboss等。要使用Zabbix监控Weblogic,我们先要了解Zabbix的JMX监控架构,Weblogic的JMX信息,最后才能去实现怎么去配置监控和报警。

阅读全文

zabbix的内置key及自定义key

以前使用nagios比较多,zabbix用得相对少一些。 发现zabbix对比nagios+cacti还是有些区别的:

    1. zabbix的监控结果和数据全是存在数据库内,cacti是用一种rrd的文件DB。
  • 2.zabbix有触发器,写监控脚本时只要把数据抓过来就行了,然后再去zabbix内配置触发器,做不同的报警。而nagios一般是直接写在脚本内了。

  • 3.其它…以后再补充

zabbix的内置了很多key,如:

  • 1、监控进程
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “net.tcp.service[http]”
  • 2、监控端口
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “net.tcp.port[,80]”

结果:1存在,0不存在;

  • 3、进程数量
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “proc.num[]”
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “proc.num[httpd]”
  • 4、执行命令
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “system.run[curl -s  "http://127.0.0.1/php-fpm-uuzu-status"  | grep 'idle processes' | awk '{print $3;}']”
/usr/local/zabbix/bin/zabbix_get -s 127.0.0.1 -k “system.run[ps auxw | grep 'httpd' | grep -v 'grep' -c]”

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海