3月 21

一种基于Zabbix的简易报警压缩方案

支持简单压缩合并 架构图 增加Media Type type: script script name: zabbix-alert/reduce.py script parameters: {ALERT.SENDTO}, {ALERT.SUBJECT}, {ALERT.MESSAGE} 配置动作 默认信息 恢复信息 kapacitor报警使 … Continue reading

2月 27

基于Telegraf和InfluxDB的url监控方案

概述 url监控功能需求 面向用户提供一个表单,提交要监控的url 支持GET、POST以及Header参数 支持多种匹配规则(状态码、匹配字符串、响应时间) 用户定义监控频率 基于zabbix的web scenarios实现过一种url监控,优点是zabbix的触发器功能很好用,缺点是: 和其他系统的结合有些不够方便灵活 item名称长 … Continue reading

2月 17

基于http_reqstat和influxdb的Tengine监控方案

在基于http_reqstat模块和zabbix的Tengine监控方法中,使用http_reqstat模块作为数据源,经过脚本计算之后插入zabbix做监控及报警。本文将基于influxdb改进监控,并利用时序数据库丰富的功能发掘http_reqstat数据的各种用途。 数据采集 由于influxdb有求导数的函数,可以直接将http_ … Continue reading

10月 19

iTop类继承关系及名称修改

场景 一开始规划不好,Database继承自FunctionalCI,由于自建数据库会使用某个Server,还有一个lnkDatabaseToServer类。后来又有了管理消息队列的需求,跟Database很类似,也需要lnk到Server,为了减少代码重复,考虑新增一个抽象类Middleware,Database及MessageQueu … Continue reading

9月 02

Kapacitor行为测试

公司的Url监控需求之前是用zabbix的web scenarios来做的,优点是zabbix的触发器功能很好用,缺点是: 和其他系统的结合有些不够方便灵活 item名称长度有限制,不能显示完整的url 无法记录请求失败时的网页内容(只告诉你匹配失败了) 因此决定尝试使用telegraf,写一个Url监控插件 来做这个事情。因为是向inf … Continue reading

8月 29

iTop 2.2.1 升级到2.3.1

升级过程中断 数据库升级之后就停了,chrome审查元素可以看到后续步骤需要sso认证。 原因: 一开始把2.3.1放在2.2.1的子目录下,用2.2.1的域名加 /web 子目录来访问2.3.1。sso扩展的代码片段如下: 匹配已 /setup 开头的URI,而子目录下的URI为 /web/setup,所以仍然需要sso认证。 因此,把 … Continue reading

7月 21

iTop导出中文PDF

iTop版本2.2.1,默认状态下导出PDF中文字符会显示为方框。解决方法为 为tcpdf增加支持UTF-8 Unicode的字体(例如droidsansfallback)。也可以使用lib/tcpdf/tools目录下的tcpdf_addfont.php脚本来生成字体 标题正常显示中文:sed -i 's/dejavusans/droi … Continue reading

7月 05

基于iTop的CMDB设计与实现

iTop使用面向对象的方式对现实世界的资源及配置项进行建模,易于理解,同时提供一套扩展机制定义类的属性和行为,使得CMDB建模变得简单并且可依赖。完全可以重写自带的配置管理模块,以适应不同的运维环境。另外,iTop还有强大的编辑功能,高效的导入导出工具,直观的依赖关系图,以及可以使用OQL查询语言REST/JSON接口。无论是简单的手工编 … Continue reading

6月 22

iTop集成SSO登录

基本思路 新建一个authent-sso扩展,除默认文件外在新建一个login.php用于充当sso回调url。基本流程为:用户选择SSO登录(或者系统判断用户为SSO用户,自动跳转),跳转到SSO登录页面,登录成功后带着token返回authent-sso/login.php,login.php中调用model.authent-sso. … Continue reading

6月 22

Nginx+Lua实现Grafana集成SSO

基本思路 Grafana开auth.proxy, Nginx+Lua控制cookie及X-WEBAUTH-USER的值. 环境配置 下载LuaJIT,编译安装 使用Tengine 2.2.1,重新编译加 --with-http_lua_module --with-ld-opt="-Wl,-rpath,$LUAJIT_LIB&qu … Continue reading