python脚本通过icinga2的api获取设备和服务的状态信息 1. 开启api 运行命令'icinga2 api setup'启用api功能并作为新的API用户root自动生成密码提供认证(配置文件/etc/icinga2/conf.d/api-users.conf)。 # icinga2 api setup # systemctl restart icinga2 icinga2 API有两种认证方式: HTTP基础认证 X.509客户证书 这里我们用简单的第一种,下面的例子假设用户名和密码为 root/icinga,api默认端口5665 # cat /etc/icinga2/conf.d/api-users.conf object ApiUser "root" { password = " 具体参考官方文档 https://icinga.com/docs/icinga2/latest/doc/12-icinga2-api/
一直使用icinga2监控信息设备的运行状态,今天打算从2.10升级到2.11,本来一次普通的升级结果不小心搞得服务不可用,教训——头晕的时候不要随便按回车键。 原本提示包的依赖关系出现了问题: # apt install icinga2 Reading package lists... The following packages will be REMOVED: dbconfig-common{u} icinga2{a} icinga2-bin{a} icinga2-common Removing icinga2 (2.10.5-1.stretch) ... Removing icinga2-bin (2.10.5-1.stretch) ... -ido-mysql # apt update # aptitude install icinga2 The following NEW packages will be installed: icinga2
icinga2命令可以在命令行上启用和禁用功能。在我们处理它的同时,我们还将启用命令功能,最终让我们从Web界面运行状况检查。 $ sudo icinga2 feature enable ido-mysql command 现在重新启动icinga2以使用新功能: $ sudo systemctl restart icinga2 最后,让我们检查icinga2的状态以确保它正常运行: $ sudo systemctl status icinga2 ● icinga2.service - Icinga host/service /prepare-dirs /usr/lib/icinga2/icinga2 (code=exited, status=0/SUCCESS) Main PID: 15416 (icinga2) : /etc/icinga2/conf.d/users.conf . . . email = "sammy@example.com" . . .
在文本编辑器中打开它: $ sudo nano /etc/icinga2/conf.d/hosts.conf 这将会打开一个文件,其中包含一些解释性注释和一个定义的主机块。 保存并关闭该文件,然后重新启动Icinga: $ sudo systemctl restart icinga2 切换回浏览器中的Icinga Web界面。界面会快速地更新,因此您无需刷新页面。 (Hint: # icinga2 pki ticket --cn 'web-2.example.com'): 此时,切换回master服务器并运行向导提示您的命令。 别忘了在它前缀添加sudo命令: $ sudo icinga2 pki ticket --cn 'web-2.example.com' 该命令将输出一个键。 创建区域目录: $ sudo mkdir /etc/icinga2/zones.d/icinga-master.example.com 我们将创建一个服务配置文件。
(检测输出count=1) 2. icinga2的配置 之后在icinga2里面配置检测主机,当然要先在该主机上启动snmpd服务。 satellite-xxx" && host.vars.snmp_community && host.vars.os ) } 2.4 图形化 如果喜欢图形化,可以采集数据交给grafana展示,或者把grafana集成到icinga2
几年前使用icinga2和nagios plugins搭建了主机监控,后来为了方便监控网络设备使用centron获取snmp信息,再加上自己写的一些监控插件,基本完善了监控项目(主机,网络设备,各种操作系统 前些天打算把openvpn用户数放进监控,发现以前的办法行不通了:需要在ovpn服务器上运行脚本获取用户数,在icinga2服务器上再使用check_snmp去ovpn服务器上调用snmp extend .3.6.1.4.1.8072.1.3.2.4.1.2.10.111.118.112.110.95.117.115.101.114.115.1 SNMP OK - OK: OpenVPN users OK (17) | 'vpn_users'=17;20;30 | 整合到icinga2 接下来整合到icinga2里面就好了。 vars.os = "Linux" vars.snmp_community = "public" vars.snmp_oid["procIcinga"] = { displayName = "icinga2
在icinga2中使用centreon-plugins来检测snmp服务,有时候输出会有宽字符的问题,如: Wide character in print at /usr/lib/nagios/plugins
host.vars.client_endpoint == "yyyy" && host.vars.manufacturer == "sangfor" && match("AC*", host.name)) } 重载icinga2 $ sudo /etc/init.d/icinga2 reload [ ok ] Reloading icinga2 configuration (via systemctl): icinga2.service
2)Icinga2核心定位:开源分布式可观测工具,以高可用故障检测为核心,专注大规模环境下的故障稳定告警,无内置智能分析能力。 02.可观测产品选型建议1)按故障响应效率优先级选型核心业务需分钟级响应+自动自愈:首选嘉为蓝鲸(AI根因+自动化闭环);仅需故障检测+基础告警:选Icinga2(大规模高可用)、Sensu(全栈覆盖) 2)按IT架构选型混合架构(国产化+容器化+混合云):优选嘉为蓝鲸(全栈兼容);大规模分布式架构:可选Icinga2;网络专项架构:选LibreNMS;单一架构:选Sensu/PandoraFMS。
4)Icinga2(1)核心定位分布式高可用监控工具,Icinga的升级版本,主打“大规模环境+高可用性”。 3)成本与生态整合:开源工具(如Nagios、Icinga2)初始成本低,但需投入研发资源扩展功能。一体化平台(如嘉为蓝鲸)虽前期投入较高,但长期可降低运维复杂度与集成成本。
02可观测产品选型建议1.按故障响应效率优先级选型核心业务需分钟级响应+自动自愈:首选嘉为蓝鲸全栈智能可观测中心(AI根因分析+自动化闭环能力突出);仅需故障检测+基础告警:可选Icinga2(大规模高可用 2.按IT架构选型混合架构(国产化+容器化+混合云):优先选择嘉为蓝鲸全栈智能可观测中心(全栈兼容无盲区);大规模分布式架构:可选Icinga2;网络专项架构:选择LibreNMS;单一架构(如纯物理机
上周dell服务器坏了一块硬盘,故障信息通过关联其自带的openmanager报警到了icinga2。更换了磁盘后,想起另一个pve集群使用的是华为服务器,而华为没有类似的硬件管理软件。
最近要检查网卡流量,其实是有各种现存工具,非常容易实现 但需要把这个东西与icinga2 集成起来搞报警什么的。
接下来就是把监控数据导入自己的监控平台,如nagios/icinga2/zabbix/centreon等,实时监控,一旦发现故障就向维护人员告警。 类似的东西还有HP的smartpage。
Icinga2还允许监视实时和历史性能数据。
技术适配场景:预算有限、具备基础开源工具维护能力的中小型企业需基础综合监控,对告警规则有特殊自定义需求的场景技术栈相对简单,无深度智能运维需求的团队5)Icinga2架构定位:分布式架构监控工具,作为Nagios 中小型企业+预算有限+基础综合监控:优先选择PandoraFMS,开源免费、功能全面的特点可满足基础监控需求,且支持二次开发适配个性化场景;若需高可用分布式部署,可考虑Icinga2。
Icinga2还允许监视实时和历史性能数据。
based on Cent… 0 martinrw/centos7-icinga Basic centos7 image with icinga2
告警和展示 把centreon-plugins嵌入监控软件直接利用其告警和展示功能就好了,我是granafa嵌入icinga2: 4.
Datadog容器适配、服务发现、生态集成边缘计算场景乐维>腾讯云TKEEdge>AWSLambda@Edge边缘轻量化部署、快速纳管、IoT设备兼容网络专项监控SolarWindsNPM≈乐维网管>Icinga2