一、监控系统概述
● 常用的数据采集系统
○ zabbix :能采集,存储,报警,展示 (全功能)
○ statsd
○ prometheus (go语言研发,是个时间序列存储系统)也是全功能
- 采集---> 存储----->报警---->可视化(展示)监控系统应该具有的四个基本功能
- Graphana:可将多种存储系统保存的数据用美观的界面进行展示
- 监控数据采集通首:
○ SNMP:Simple network managemant protocol
○ ssh/telnet
○ IPMI:英特尔智慧平台管理系统
○ agent:master/agent
○ JMX: java 管理扩展,监控java业务指标
二、server端的安装使用
● zabbix程序的组件
○ zabbix_server:服务端守护进程;
○ zabbix_agentd:agent守护进程;
○ zabbix_proxy:代理服务器,可选组件;
○ zabbix_get:命令行工具,手动测试向agent发起数据采集请求;
○ zabbix_sender:命令行工具,运行于agent端,手动向server端发送数据;
○ zabbix_java_gateway:java网关;
○ zabbix_database:MySQL或PostgreSQL;
○ zabbix_web:WebGUI
● epel仓库安装(版本比较旧2.2;2.4)
●官网下载最新版release.rpm包,安装好后,直接配好yum仓库
● sever端安装
○ zabbix-server-mysql
○ zabbix-web-mysql
○ zabbix-get
○ zabbix-agent
○ zabbix-sender
● 安装Mysql,默认没有依赖关系一起装好,需要手动安装,并启动,
○ vim /etc/my.cnf.d/server.cnf 简单配置一下
○ skip_name_resolve = ON
○ innodb_file_per_table = ON
○ max_connections = 3000
○ ls /var/lib/mysql/ 下面的套接字文件mysql.sock,用来连本机时用的
● 连上数据库,为zabbix创建配套的数据库,跟表
○ CREATE DATABASE zabbix CHARACTER SET 'utf8';
○ GRANT ALL ON zabbix.* TO 'zabbix'@'127.0.0.1' IDENTIFIED BY 'zbxpass';
○ rpm -ql zabbix-server-mysql 查看生成的文件中有一个自动创建表的sql语句文件
■ /usr/share/doc/zabbix-server-mysql-3.4.1/create.sql.gz
■ 复制到当前目录下,再解压 gzip -d create.sql.gz
■ mysql -uzabbix -hlocalhost -pzbxpass zabbix < create.sql
● 修改/etc/httpd/conf.d/zabbix.conf 让web程序可以启动
○ alias /zabbix /usr/share/zabbix 访问时要访问/zabbix这个url
○ php_value date.timezone Asia/Shanghai 时区配置好(在/etc/php.ini下面修改一样)
○ 启动服务httpd.server; 登录上web管理页面
三、web页面下的配置操作
● 监控一台主机步骤:configuration --hosts---create host
○ 被监控端安装zabbix-agent zabbix-sender
○ 编辑配置文件/etc/zabbix/zabbix_agentd.conf
■ Server=172.16.28.66 (设置server端的地址)
■ 在配置文件active配置段中
■ ServerActive=172.16.28.66(也要设置server端的地址)
■ Hostname=node2.song.com (本机的主机名)可以不定义,把HostnameItem=system.hostname打开即可
● 监控界面配置
○ 术语:host groups --->host---->application--->item---->trigger---->action(condition,operations)
● items:key+paramter
● trigger:界定某特定的item采集到的数据的非合理区间或非合理状态
○ 逻辑表达式,阈值;通常用于定义数据的不合理区间;
○ OK:正常状态(较老的zabbix版本,其为false)
○ PROBLE:非正常状态(较老的版本,其为true)
○ OK --->PROBLEM
○ Recovery:PROBLEM--->OK
● 告警脚本需要放在/usr/lib/zabbix/alertscripts
● 展示接口:
○ graph:simple,custom
○ screen:把多个graph整合于同一屏幕进行展示
○ slide show :把多个screen以slide show的方式进行展示
○ map
● 模板:主机配置模板,用于链接至目标主机实现快速监控管理
○ link,unlink,unlink and clear
○ 模板可继承
● 宏:macro,预设的文件替换模式;
○ 全局:administration --->general---->macros
○ 模板:编辑模板---->macros
○ 主机:编辑主机----->macros
○ 类型:内建和自定义模板;命名方式:大写字母,数字和下划线;
四、网络发现
● zabbix server扫描指定网络范围内的主机;
● 分两个阶段
○ discovery
○ actions:把discovery events当作前提条件
■ send message,remote command
■ add/remove host
■ enable/disable host
■ add host to group
■ link template to host
五、自定义key
● 自定义key:在zabbix agent端的配置文件上由用户通过UserParameter指令定义的key;
● zabbix_agent.conf文件中
○ UserParameter=<key>,<command>
● 示例:
○ UserParameter=mem.used,/usr/bin/free | awk '/^Mem/{print $3}'
○ 在服务端用命令测试下Key结果
○ zabbix_get -s 172.16.0.67 -p 10050 -k "mem.user"
○ UserParameter=mem.stats[*] | awk '/^$1/{print $$2}' 传输参数的方式定义key