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

3月 29

基于http_reqstat模块和zabbix的Tengine监控方法

Tengine的http_reqstat_module提供了监控Tengine运行状态的方法,能根据自定义变量(req_status_zone)统计Tengine的运行状况(域名,URI等)。本文记录了一种使用http_reqstat模块作为数据源,zabbix作为数据存储及展示,grafana作为前端展示的Tengine监控方案。 本文 … Continue reading

3月 21

Tengine使用proxy_upstream_tries模块

proxy_next_upstream指令可以指定故障转移的状态码,但是不能限制故障转移的次数,当upstream全部故障时,所有upstream都会被请求一遍,造成后端压力成倍增加。因此有必要限制故障转移的次数。Tengine中使用proxy_upstream_tries模块实现限制重试的次数。 实验 只配置proxy_upstream … Continue reading

1月 26

宿主机使用虚拟机的VPN连接

需求 VMware虚拟机中跑Windows 7(下文称Guest),使用某客户端连接公司VPN,宿主机为Windows 10(下文称Host),未安装该VPN客户端。现需要在Guest中连接VPN,然后共享给Host使用。 实现 Guest添加2块网卡,一个Host Only,一个桥接。网络编辑器中取消Host Only的DHCP功能 G … Continue reading