zabbix --监控

zabbix ---监控
zabbix服务器 --》 zabbix agent(被监控端)
172.16.2.13 172.16.2.14
基本准备(系统平台为centos7.3)
1,主机名
# hostnamectl set-hostname --static zabbixserver.cluster.com
# vim /etc/hosts
172.16.2.13 zabbixserver.cluster.com
2,时间同步
3,iptables,selinux关闭
4,配置yum(本地镜像yum源和163源.可以不用epel源)
5, 配置zabbix官方yum源(版本为目前最新的版本zabbix3.2)
# wget http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm
# rpm -ivh zabbix-release-3.2-1.el7.noarch.rpm
总结:一个三个yum仓库(本地iso,163,zabbix官方)
第一步:安装zabbix和mariadb数据库
# yum install zabbix-server-mysql zabbix-web-mysql mariadb-server
第二步:在mysql里建立存放数据的库并授权,然后导入zabbix所需要用的表和数据
# systemctl restart mariadb.service
# systemctl status mariadb.service
# systemctl enable mariadb.service
# mysql
MariaDB [(none)]> create database zabbix default charset utf8;
MariaDB [(none)]> grant all on zabbix.* to zabbix@'localhost' identified by '123';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> quit
第三步:导入表数据
# zcat /usr/share/doc/zabbix-server-mysql-3.2.6/create.sql.gz |mysql -u zabbix -p123 zabbix
第四步:配置zabbix主配置文件,并启动服务
# vim /etc/zabbix/zabbix_server.conf --找到并确认如下参数(默认值正确的可以打开注释也可以不打开.默认值不对的,要修改正确并打开注释)
ListenPort=10051
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=123 --这里要对应上面的授权进行修改
DBSocket=/var/lib/mysql/mysql.sock --这里默认的socket路径不对,改成我这个路径
ListenIP=0.0.0.0
# systemctl restart zabbix-server.service
# systemctl status zabbix-server.service
# systemctl enable zabbix-server.service
# lsof -i:10051
第五步:配置zabbix的httpd子配置文件,并启动httpd
# vim /etc/httpd/conf.d/zabbix.conf --打开时区注释,并修改成你的时区
php_value date.timezone Asia/Shanghai
# systemctl restart httpd.service
# systemctl status httpd.service
# systemctl enable httpd.service
第六步:
然后使用firefox访问,并进行安装
http://IP/zabbix
按照图示过程安装
1,welcome
2,Check of pre-requisites
3,Configure DB connection
数据库用户名填zabbix,密码填123(前面授权过的),并test connection成功
4,Zabbix server details
在name选项填上你zabbix服务器的IP或者主机名
5,Pre-Installation summary
6,install
完成后
登陆用户名为:admin
登陆密码为:zabbix
-----------------------------------------------------------
例一,转换成中文界面
右上角点一个类似小人的图标--》 语言选 中文zh-cn --》 点 update
例二,使用zabbix-agent方式来监控本机
# yum install zabbix-agent --本机安装agent包
# vim /etc/zabbix/zabbix_agentd.conf --下面几个常见选项都为默认值,不用配置
Server=127.0.0.1 --zabbix服务器的IP,这里是本机
ServerActive=127.0.0.1 --zabbix服务器active check相关
ListenPort=10050 --监控服务器连接被监控客户端的端口(默认是注释的,可以打开或者不打开注释)
Hostname=Zabbix server --设定被监控客户端的名称标识
# systemctl restart zabbix-agent
# systemctl status zabbix-agent
# systemctl enable zabbix-agent
# lsof -i:10050
回到web管理界面--》点配置--》点主机--》默认看到叫Zabbix server的本机,但状态是停用的--》点击并启用,然后可以通过点图形--》选图后点预览--》看到图上有乱码
解决方法:
把原来的图形字符换成ukai字体
软件包路径为
笔记目录/program/ttf-arphic-ukai_0.2.20080216.1.orig.tar.gz
# tar xf ttf-arphic-ukai_0.2.20080216.1.orig.tar.gz -C /usr/share/zabbix/fonts/
# mv /usr/share/zabbix/fonts/ukai.ttc /usr/share/zabbix/fonts/ukai.ttf
# vim /usr/share/zabbix/include/defines.inc.php
45 define('ZBX_GRAPH_FONT_NAME', 'ukai'); --修改原来的graphfont字体改成ukai
做完后,不用重启服务,回到zabbix的web界面刷新查看图形就会发现没有乱码了
-----------------------------------------------------------
例三,监控远程linux
zabbix服务器 --》 zabbix agent(被监控端)
172.16.2.13 172.16.2.14
在被监控客户端上172.16.2.14安装zabbix-agent
1,配置主机名
# hostname set-hostname --static agent1.cluster.com
# vim /etc/hosts
172.16.2.14 agent1.cluster.com
2,关闭iptables,selinux
3,时间同步
4,配置yum(需要zabbix官方yum源)
5,安装zabbix-agent
# yum install zabbix-agent
# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.2.13 --写上zabbix监控服务器的IP
ServerActive=172.16.2.13 --也是写上zabbix监控服务器的IP
Hostname=agent1.cluster.com --写上你的被监控客户端的主机名
# systemctl restart zabbix-agent
# systemctl status zabbix-agent
# systemctl enable zabbix-agent
# lsof -i:10050
回到web管理界面--》点配置--》点主机 --》 点创建主机
主机名称: agent1.cluster.com
可见的名称:agent1 --这个名是优先显示在监控web页面的host页面
群组: Linux servers --或者自己新建一个群组名都可以
IP地址: 172.16.2.14
(--见图zabbix01.png)
点模版,点选择,把 Template OS Linux 前面打勾(其它模版随意加) --》点选择 --》点添加 --最后点右下解的添加
OK之后,就能看到一共监控了两台机器了
基本概念解析:
概念一:
主机和主机组
  主机(hosts)代表被监控的一台机器
  主机组(groups)代表被监控的一组机器(主要在特别多的机器情况,方便分组区分)
操作路径:
配置->主机群组
配置->主机
例:把前面做的agent1这个被监控端换一个新的组,组名为testgroup,再把remote linux servers组删除
(比较简单,过程省略)
=============================================================
概念二:
  监控项(items)和应用集(applications)
监控项(items)代表搜集数据或监控的一个最小单位
应用集(applications)代表多个监控项目合成的组
配置->主机->监控项(这里我选的是远程叫agent1的主机的监控项)->右上角点创建监控项
然后先随意创建一个监控项(我这里是创建一个监控free内存的监控项)
创建完成后,在这个主机的监控项列表里就可以找到你创建的监控项
配置->主机->图形(还是选的agent1的主机的图形)->右上解点创建图形
选择图形名称,并在下面添加刚才定义好的监控项
例:自定义自己的监控项
zabbix服务器 --》 zabbix agent(被监控端)
172.16.2.13 172.16.2.14
zabbix server agent1
自定义监控agent1(172.16.2.14)上的用户登录数
1,在被监控端agent1上,随意多打开几个终端
# who |wc -l
2,在被监控端agent1上,定义用户参数
# vim /etc/zabbix/zabbix_agentd.conf ----加上下面这名定义的参数
UserParameter=loginusers,who | wc -l ----loginusers是我自定义的一个键值名称(会在创建监控项时用到),后面的who |wc -l就要被监控的命令
# systemctl restart zabbix-agent ----重启服务让其生效
3,在监控服务器上(172.16.2.13)先测试是否能得到被监控端的结果
# yum install zabbix-get ----需要zabbix官方yum源
# zabbix_get -s 172.16.2.14 -k loginusers ----使用此命令就可以得到被监控端的结果,则测试ok
4,web界面创建这个监控项
配置->主机->监控项(选远程agent1的监控项)->右上角点创建监控项
创建时主要要注意的是键值要写上面定义的loginusers
创建完后,在agent1的监控项列表里就能看到创建好的监控项
然后会这个监控项创建图形
配置->主机->图形(还是选的agent1的主机的图形)->右上解点创建图形->选择图形名称,并在下面添加刚才定义好的监控项--添加后,预览图形
课后练习:
自定义监控系统运行时间
自定义监控系统所有进程数量
......
概念三:触发器trigger
定义监控项到达一个临界值或者满足一个条件,就会发现状态变化
如:把上面做的远程agent1的监控登录用户数做一个触发器(大于20个登录用户就警告)
配置->主机->触发器(选远程agent1的触发器)->右上角点创建触发器->填触发器名称->在表达式的右边点添加
选择上面做的监控agetn1的登录用户数的监控项,并设置当前T值> N (N设为20)
添加完表达式后,就可以添加这个触发器了
最后可以把agent1的用户数调整大于20后,去web界面->监控中->触发器 界面可以查看到触发了
概念四:事件events
  各种需要管理员知悉或处理的事情(触发器事件,discovery事件,网络事件)
概念五:可视化图形 Visualisation
指图形和图形里的定义(高,宽,坐标,X,Y的单位,颜色)的综合 
前面我们使用监控项已经创建过相关的图形
概念六:用户(user),用户群组(group)
  管理->用户
概念七:web监测(类似一个监控项)
  可以对一个url页面进行监测
例:监测agent1的主页
配置->主机->web监测(选远程agent1的web监测)->右上角点创建web场景->填写名称和加入一个应用集
点步骤,然后填写名称,URL(监控的页面的路径),要求的状态码(我这里写的200,表示http协议的200状态码)
点添加后,就能看到agent1这台机器的这个web监测场景
监测中->web监测,会看到此监测有问题(原因是agent1没有安装httpd)
在agent1上安装并启动httpd服务,做好主页,再回到监测中->web监测查看,监测就ok了,说明此监测有效
扩展:为此web监测配置触发器
概念八:通知(notification)
出现报警事件或者触发器触发,进行通知
通知类型默认有:email,jabber,短信.其它方式比如微信,需要自行开发接口
概念九:宏,巨集(macros)
类似于传参数的变量 
概念十:自动发现(discovery)
  动作(action)
例:再加一台agent2远程被监控端,通过discovery+action发现它并加上相应的监控模版
zabbix server
172.16.2.13
agent1 agent2
172.16.2.14 172.16.2.12
在agent2机器上做如下相关的准备工作
1,配置主机名
# hostnamectl set-hostname --static agent2.cluster.com
# vim /etc/hosts
172.16.2.12 agent2.cluster.com
2,关闭iptables,selinux
3,时间同步
4,配置yum(需要zabbix官方yum源)
5,安装zabbix-agent
# yum install zabbix-agent
# vim /etc/zabbix/zabbix_agentd.conf
Server=172.16.2.13 ----写上zabbix监控服务器的IP
ServerActive=172.16.2.13 ----也是写上zabbix监控服务器的IP
Hostname=agent2.cluster.com ----写上你的被监控客户端的主机名
# systemctl restart zabbix-agent
# systemctl status zabbix-agent
# systemctl enable zabbix-agent
# lsof -i:10050
准备好agent2后,回到zabbix server的web界面进行操作
配置->自动发现
默认有一个叫Local network的发现规则,这次就不创建新的规则了,直接修改这个Local network规则就好
主要修改了我们的试验网段为172.16.0.0/16
开把  已启用  打勾
修改完后点更新
然后在监测中->自动发现 里查找已经发现的设备(我这里使用172.16.0.0/16的网段,范围大,测试的速度很慢)
继续配置动作action
配置->动作->右上角事件源选自动发现
然后会发现一个默认的叫Auto discovery. Linux servers的动作,直接启用就好
最后过段时间去配置->主机 里查看,会发现把discovery的主机自动加到了配置里了
概念十一:模版(templates)
代表项目,应用集,触发器,图形,自动发现规则等的组合
用于在监控时直接应用到一台被监控的主机
概念十二:导入导出
概念十三:通过代理实现分布式监控
posted @ 2018-06-19 22:05  Sky-wings  阅读(317)  评论(0编辑  收藏  举报