其实用法Checkmk官网文档很全面:https://docs.checkmk.com/latest/en/intro_setup.html

顺着beginner's guide章节看完基本就能上手,以下只是对于整体用法的梳理和总结

常用的监控场景为:主机资源,服务端口,webservice服务,数据库,通过微信告警

1.版本选型

一般用免费版 Checkmk Raw Edition (CRE)

2.安装方式

最常见的是Red Hat and CentOS  https://docs.checkmk.com/latest/en/install_packages_redhat.html

其他还支持物理设备,docker容器等:https://docs.checkmk.com/latest/en/introduction_docker.html,详情可以参考官网文档

这里推荐尽量使用新系统安装,避免不必要的麻烦

3.软件初始化

创建站点:omd create mysite

启动站点:omd start

登陆等

详情查看官网: https://docs.checkmk.com/latest/en/intro_setup.html#create_site

4.用户界面

详情:https://docs.checkmk.com/latest/en/intro_gui.html

5.设置监控

详情:https://docs.checkmk.com/latest/en/intro_setup_monitor.html

其中checkmk有文件夹和主机标签的概念,这两个很有用,因为监控基本是根据规则来批量管理,而管理的方式就是通过文件夹和标签来划分

所以建议,按大类用文件夹区分(不会轻易改动),各种小类用标签区分(可以灵活搭配调整)

其中安装代理:https://docs.checkmk.com/latest/en/intro_setup_monitor.html#install_agent,有两点要注意

(1)一定要注意systemctl的版本高于219

systemd in a version 219 or newer

systemctl --version

所以这里建议尽量使用新系统,比如centos8或者9

这样会避免很多麻烦

(2)注册主机时的命令

cmk-agent-ctl register --hostname localhost --server mycmkserver --site mysite --user cmkadmin

其中主机名称localhost有时候不一定能识别,可以替换为ip

cmk-agent-ctl register --hostname 127.0.0.1 --server mycmkserver --site mysite --user cmkadmin

 checkmk配置完成还有个激活更改的概念
其他windows,SNMP,云、容器、虚拟机的安装详见文档
 
6.监控工具
参考官网:https://docs.checkmk.com/latest/en/intro_tools.html
主要是checkmk常用到的一些小工具
其中重点要注意Master control,这个是用来控制所有监控的开关的
还有个书签的功能,可以把常用的页面保存为书签
 
7.checkmk的日常使用
参考官网:https://docs.checkmk.com/latest/en/intro_monitor.html
其中有两个重要的概念
(1)Acknowledging problems
监控类似于闹钟,当出现问题是checkmk会认为有问题并发出告警,但是到底有没有处理,checkmk并不能知道
所以需要人来手动确认这个问题,来把未处理的问题转变为已处理
(2)设置计划停机时间
这个是防止维护重启的时候,发出告警
其实个人觉得偶尔的计划停机无所谓,如果有周期的维护,比如一周重启一次,就很需要这个功能
但是免费版本配置周期计划停机相对收费版略微麻烦
 
8.微调监控
参考官网:https://docs.checkmk.com/latest/en/intro_finetune.html
这里主要是说要尽可能让监控准确,防止误报
配置监控的原则是首先是质量,然后是数量
一定要先用一个主机做实验,让监控趋向精准的时候,在大批量使用
(1)check中所有的规则都有相应的规则集,你可以在规则集中搜索需要配置的规则
Setup > General > Rule search
(2)用好标签的概念
为主机配置标签,以及为规则匹配相应的标签
(3)文件系统的阀值
由于有的磁盘200T,有的磁盘20g同样设置90%告警就不合理
这里可以用按磁盘大小分级配置阀值
也可以用到checkmk的魔法因子来根据磁盘的大小自动调配阀值
https://docs.checkmk.com/latest/en/intro_bestpractise.html#magic_factor
(4)忽略关闭的主机
比如打印机这种
(5)监控交换机端口
主要是终端交换机,预防经常有主机关机出现误报的情况
(6)永久禁用服务
可以用规则来禁用不想监控的服务
这里可以在主机中禁用某个服务,然后找到那个为这个禁用创建的规则,最后修改这个规则适用范围至其他主机
(7)使用平均值监控异常
可以设置一段时间的cpu平均阀值异常,比如15分钟
(8)管理偶发错误
有些服务偶尔的CRIT 是正常的
这里可以设置为连续检查3次出现CRIT才告警
 
9.用户管理
参考官网:https://docs.checkmk.com/latest/en/intro_users.html
一个用户有两个属性:权限和职责
权限分为:Administrator、Normal monitoring user、Guest user
职责是以联系人组(Contact groups)的方式管理
人员和主机都可以关联进联系人组
然后当联系人组中的主机或者主机上的服务出现问题会给相同组里的联系人发送告警
其中有个概念要注意
把主机分配进联系人组,相应的服务也会继承这个关系
但是把服务分配进联系人组,这种继承关系就会自动消失,他就不会从主机继承任何联系人组
但是主机有问题,很难保证服务正常
所以建议尽量不要分配服务,而是分配主机给联系人组
 
10.配置通知
参考官网:https://docs.checkmk.com/latest/en/intro_notifications.html
基本支持所有方式的通知
常用的就是邮件和微信通知
邮件通知就是:
(1)安装SMTP server service
(2)配置mail server
邮件里通知还可以包含度量图表
 
微信通知
这个在checkmk没有内置,但是check支持自定以脚本,所以可以自己写脚本完成通知
(1)注册一个微信订阅号(只有订阅号可以发送模板消息)
(2)写一个微信消息发送脚本
书写和配置规范:https://docs.checkmk.com/latest/en/notifications.html#scripts
支持shell,python各种语言,里面还包含可用的传参
 
11.扩展监控系统
参考官网:https://docs.checkmk.com/latest/en/intro_extend.html
优化安全,分布式监控,可用性,软硬件清单,监控消息和事件,地图图表可视化,BI,pdf报告
其中有个很重要就是开发自己的插件
 
12.最佳实践
参考官网:https://docs.checkmk.com/latest/en/intro_bestpractise.html
(1)监控单个cpu利用率
防止单进程异常
(2)监控windows服务
配置需要监控的windows服务
(3)监控互联网连接
这个比较有意思,主要用来监控联网可用性的,就是随便找几个主流的网站ip配置进一个主机里面,配置ping规则分别ping这几个ip,然后再配置一个规则只用这个ping规则的状态来告警(防止第一个ping地址故障导致主机出现down状态),这样只要有ip能ping通就不会告警
(4)监控http/https服务
(5)魔法因子文件系统阀值
这个是以20G做基准,然后加一个系数0.8,然后checkmk会根据磁盘相对于20G的大小来调整阀值
 
13.被动检查
参考官网:https://docs.checkmk.com/latest/en/monitoring_basics.html?lquery=passive
可以用脚本在主机上采数,然后推给checkmk检查,例如某些数据库监控
 
 

Checkmk监控工具使用手册的更多相关文章

  1. .NET分布式缓存Memcached从入门到实战

    一.课程介绍 在数据驱动的web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的虽然已经可以实现对页面局部进行缓存,但还是 ...

  2. DevOps之服务手册

    唠叨话 关于德语噢屁事的知识点,仅提供精华汇总,具体知识点细节,参考教程网址,如需帮助,请留言. <DevOps服务手册(Manual)> <IT资源目标化>1.设施和设备(I ...

  3. 网络实时流量监控工具iftop---转

    网络实时流量监控工具iftop 分类: LINUX 1.安装依赖软件库 [root@localhost ~]# yum install libpcap libpcap-devel ncurses nc ...

  4. MongoDB最佳实践中文手册

    背景:查阅了一下MongoDB的相关文档,发现中文文档还是比较少的,工作中需要用到MongoDB,而这本<MongoDB最佳实践>是很好的选择,所以就把这本手册翻译了一下,其中生涩的专业用 ...

  5. 《Linux 性能及调优指南》2.3 监控工具

    翻译:飞哥 (http://hi.baidu.com/imlidapeng) 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Linux Performance a ...

  6. Linux系统性能监控工具介绍之-tsar

    Linux系统性能监控工具介绍之-tsar Linux系统性能监控工具介绍之-tsar 2017-03-02 20:25 175人阅读 评论(0) 收藏 举报  分类: LINUX调优(9)    目 ...

  7. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  8. 4个Linux服务器监控工具

    下面是我想呈现给你的4个强大的监控工具. htop – 交互式进程查看器 你可能知道在机器上查看实时进程的标准工具top.如果不知道,请运行$ top看看,运行$ man top阅读帮助手册. hto ...

  9. 好用的性能检测工具-性能监控工具- Glances

    平常我经常使用 htop 工具来进行对主机进行性能检测.但是它只能对 进行进行管理.并简要显示 进程和cpu和内存使用信息:性能监控工具: glances 是比较好的性能检测工具.相比较htop还能显 ...

  10. Service系统服务(二):补充应用技巧、软连接与硬连接、man手册、zip备份、vim效率操作、自定义yum软件仓库、发布及测试yum仓库、编译安装软件包

    一.补充应用技巧 目标: 本例要求掌握在运维中比较常用的一些扩展命令技巧的使用,完成下列小技巧操作: 1> 采用数值形式将目录/root的权限调整为 rwx------   2> 将记录的 ...

随机推荐

  1. mongoengine模型字段非严格校验FieldDoesNotExist

    背景 最近需要从mongoDB中查询数据用于数据分析,一开始就用了pymongo后来发现使用起来很不方便,后面了解到有类似SQLAlchemy的ORM模块mongoengine能够操mongo 简单看 ...

  2. Unity 使用JIMO 做MR扫图(Vuforia) 优化

    最近在做一个用MR眼镜端扫描图片做定位用, 使用的Vuforia提供的图片识别功能. 在眼镜端因为摄像机很挫,导致扫描出来的图片 位置存在着一定的偏差.就做了个小优化. 1.扫图的角度设定,垂直于图片 ...

  3. Liunx 日志检索 grep -v -a awk

    grep -5 'parttern' inputfile.log //打印匹配行的前后5行   grep -C 5 'parttern' inputfile.log //打印匹配行的前后5行   gr ...

  4. 第八章 mysql的主从复制

    mysql的主从复制 一 主从复制搭建 1. 准备三台主机  (这个是多实例) 3307 master3308 salve13309 salve2 2. master 节点设置 [mysqld] lo ...

  5. Django基础篇 01- 初识Django

    一.Django介绍 flask,FastApi是轻量级服务端开发框架 Django是重量级服务端开发框架 ORM:封装了数据库操作 form:校验请求数据 安装Django: pip install ...

  6. 【pytest】@pytest.fixture与@pytest.mark.parametrize结合实现参数化

    背景:测试数据既要在fixture方法中使用,同时也在测试用例中使用 使用方法:在使用parametrize的时候添加"indirect=True"参数.pytest可以实现将参数 ...

  7. varchar(100)和varchar(10)的区别

    mysql存储字段"abcdef",varchar(10)和varchar(100)都可以存储,且占用的磁盘存储空间是一样的,磁盘是按照实际长度存储.但,如果需要排序等内存操作,加 ...

  8. js 导出json文件

    var data={}//处理得到的json字符串 var filename = 'json.json'//json文件名 if(typeof data === 'object'){ ddd = JS ...

  9. C++ 函数参数与按值传递

    C++ 函数参数与按值传递 C++ 通常安值传递参数,这意味着将数值参数传递给函数,而后者将其赋给一个新的变量. double volume = cube(side); 其中,side 是一个变量. ...

  10. Longest Peak

    refer to: https://www.algoexpert.io/questions/Longest%20Peak Problem Statement Sample Analysis Code ...