无监控,不运维。好了,废话很少说,下面都是干货。php
警告:流量党勿入,图片太多!!!html
项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.htmljava
① ntpdate 192.168.30.1 同步时间mysql
③ vim /etc/hosts 每一个机器都设置hosts,以解析主机名;DNS也行ios
192.168.30.107 server.along.com 192.168.30.7 node1.along.com 192.168.30.2 node2.along.com 192.168.30.3 node3.along.com zbproxy.along.com
① 去官网,下载本身须要的版本https://www.zabbix.com/downloadredis
zabbix-agent-3.4.4-2.el7.x86_64.rpm 监控(安装在被监控者,固然监控本身也须要监控)
zabbix-get-3.4.4-2.el7.x86_64.rpm 在server端,手工链接agent 获取数据的,作测试的
zabbix-java-gateway-3.4.4-2.el7.x86_64.rpm 基于JAM监控时使用的
zabbix-proxy-mysql-3.4.4-2.el7.x86_64.rpm
zabbix-proxy-pgsql-3.4.4-2.el7.x86_64.rpm
zabbix-proxy-sqlite3-3.4.4-2.el7.x86_64.rpm
zabbix-sender-3.4.4-2.el7.x86_64.rpm 安装在agent端,主动监控模式下,向server端发送测试数据使用的
server 取决本身的存储系统选mysql 或 pgsql:
zabbix-server-mysql-3.4.4-2.el7.x86_64.rpm
zabbix-server-pgsql-3.4.4-2.el7.x86_64.rpm
zabbix-web-3.4.4-2.el7.noarch.rpm web部位,核心包
zabbix-web-japanese-3.4.4-2.el7.noarch.rpm 专用日语的web部位
zabbix-web-mysql-3.4.4-2.el7.noarch.rpm
zabbix-web-pgsql-3.4.4-2.el7.noarch.rpm
zabbix-release-3.4-2.el7.noarch.rpm zabbix下载的源
① 安装官方的源
zabbix-release-3.4-2.el7.noarch.rpm 直接下载源
rpm -ivh zabbix-release-3.4-2.el7.noarch.rpm
yum repolist 能够查看本身的仓库有zabbix源了
② 安装
yum -y install zabbix-agent zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql
(1)vim /etc/my.cnf.d/server.cnf 子配置文件
[server] skip_name_resolve = on innodb_file_per_table = on innodb_buffer_pool_size = 256M #buffer缓存大小 max_connections = 2000 #最大链接数 log-bin = master-log #二进制日志
(2)建数据库,受权,刷新权限
MariaDB [(none)]> create database zbxdb character set 'utf8'; MariaDB [(none)]> grant all on zbxdb.* to zbxuser@'192.168.30.%' identified by 'zbxpass'; MariaDB [(none)]> flush privileges;
rpm -ql zabbix-server-mysql 下包的时候,带有数据库文件的解压包
cp /usr/share/doc/zabbix-server-mysql-3.4.4/create.sql.gz ./ 考到root下,解压
mysql -uroot -p zbxdb < create.sql 导入数据
cp zabbix_server.conf{,.bak} 先备份,养成好习惯
grep -i "^####" zabbix_server.conf 查看有几个配置段
GENERAL PARAMETERS 通常性配置
ADVANCED PARAMETERS 高级配置
LOADABLE MODULES 可加载模块
TLS-RELATED PARAMETERS 配置加密的东西,如私钥证书等
grep -i "^###" zabbix_server.conf 能够查看一下须要配置的选项
ListenPort=10051 默认端口10051 SourceIP= 发采用数据请求的端口,能够加多个地址,须要的话本身设置
② 数据库的配置 DBHost=192.168.30.107 数据库对外的地址 DBName=zbxdb 数据库中库的名字 DBUser=zbxuser 数据库受权的用户 DBPassword=zbxpass 密码 DBPort=3306 数据库服务端口
systemctl start zabbix-server.service
vim zabbix.conf 额外为php5 设置了一些参数
# php_value date.timezone Europe/Riga php的时区必须设置,不过有两处能够设置,在php的配置文件中设置,或在这里设置;在这里设置,只对zabbix有效
vim /etc/php.ini 在php的配置文件中设置,表明对全部使用php的都生效,我就在这里设置了
① web登陆 http://192.168.30.107/zabbix
Zabbix server is running |
Yes |
192.168.30.107:10051 |
① Number of hosts (enabled/disabled/templates) |
39 |
0 / 1 / 38 |
② Number of items (enabled/disabled/not supported) |
0 |
0 / 0 / 0 |
③ Number of triggers (enabled/disabled [problem/ok]) |
0 |
0 / 0 [0 / 0] |
④ Number of users (online) |
2 |
2 |
⑤ Required server performance, new values per second |
0 |
① 监控主机:已经启用被监控的主机数量,已经配置好缺被禁止主机数,自带模板数
④ 当前zabbix有几个用户:如今是一个是来宾,一个是管理员
⑤ 重点关注的nvps 每秒的新值(根据咱们定义的监控项,每秒采集过来多少新数据,平均值):
(1)若是英语很差,能够切换为中文,但推荐使用英文,为了更好的讲解,博主使用中文示范
yum -y install zabbix-agent zabbix-sender 只需安装这两个包就行
① grep -i "^####" zabbix_agentd.conf 先查看一下配置段
GENERAL PARAMETERS 通常配置,有两个子配置段
Passive checks related 被动接口
Active checks related 主动接口
USER-DEFINED MONITORED PARAMETERS 用户自定义的监控参数(必要,高级的特性)
LOADABLE MODULES
TLS-RELATED PARAMETERS
② grep -i "^###" zabbix_agentd.conf 查看选项
① EnableRemoteCommands=0 是否容许执行远程命令,默认是不容许的,有安全风险
② 指定服务器主机,能够指定多个 Server=192.168.30.107 ③ 本身的今天IP和端口 ListenPort=10050 本身的监听端口 ListenIP=0.0.0.0 容许监听在本机的地址,0.0.0.0 是监听全部 ④ agent个数,被监控项有不少时,能够多写几个 StartAgents=3 默认3个,优化时使用 ⑤ 主动监控的机器地址是谁 StartAgents=192.168.30.107 ⑥ 能被server段解析的主机名,写IP也行 Hostname=node1.along.com 下边都是默认值就好
systemctl start zabbix-agent.service
建立一个属于mysrvs 主机组的node1.along.com 主机,若接口写主机,要开启DNS解析
建立3个 CPU Utils 、Memory Stats、Network Interface Stats 的应用集
设置名为 rate of interrupt 的监控项 items
① key键值:內建key 、自定义key;对应的是命令;服务器自动执行key,就至关于采集数据
每个key 都对应,能在客户端/agent端,执行的命令;该命令能帮咱们取回关系型数据
在命令行 zabbix_get -s 192.168.30.7 -p 10050 -k "system.cpu.intr"
对于非关键型指标,不要太频繁,使服务器压力很大;推荐5分钟,或以上
(1)对node1 添加名为rate of packets(in) 入站包的个数 的items监控项
① key 值选的是: net.if.in[if,<mode>]网络接口上传流量统计;能够加参数
① 设置rate of packets(out) 出站包的个数,由于和in 很类似,能够克隆再设置
① 界定某特定的item采集到的数据的非合理区间或非合理状态:逻辑表达式
OK:正常 状态 --> 不知足阈值(不合理区间)为OK
PROBLEM:非正常状态 --> 知足阈值
nodata():没有数据
last():最近几回的平均值
date()
time()
now()
dayofmonth()
...
注意:经常使用nodata()、last();能用数值采集的结果保存,就不要用字符串;计算机处理数值要快的多
例如,当某网关主机不可用时,其背后的全部主机都将没法正常访问
若是全部主机都配置了触发器并定义了相关的通知功能,相关人员将会接收到许多告警信息,这既不利于快速定位问题,也会浪费资源
正肯定义的触发器依赖关系能够避免相似状况的发生,它将使用通知机制仅发送最根本问题相关的告警
② 注意:目前zabbix 不可以直接定义主机间的依赖关系,其依赖关系仅能经过触发器来定义
Media:媒介,告警信息的传递通道;任何用户收到报警信息,都须要有媒介的端口
类型:下面3个中国都没实现,中国能够实现微信,须要特殊插件
Email:邮件
Script:自定义脚本,每个script都是一个媒介
SMS:短信,只适用于北美地区
Jabber:
Ez Texting:
接收信息的目标为zabbix用户:
须要用户上定义对应各类媒介通道的接收方式;
(2)定义一个media ,能够在email 模板上直接修改
yum -y install redis 下载一个redis 服务作实验
② 由于要执行动做时需远程操做,给admin 用户设置sudo权限
zabbix ALL=(ALL) NOPASSWD: ALL 容许zabbix用户能在全部主机,以全部人的身份执行全部命令
Defaults !visiblepw 默认全部命令要依靠tty执行,先注释掉
b) vim zabbix_agentd.conf 设置agent容许执行远程命令
EnableRemoteCommands=1 容许执行远程命令
LogRemoteCommands=1 把远程执行的命令记录在日志中
systemctl restart zabbix-agent.service 重启zabbix-agent服务
net.tcp.listen[port] 监听本地listen:检查 TCP端口是否处于侦听状态,返回 0 - 未侦听;1 - 正在侦听
net.tcp.port[<ip>,port]:server远程扫描redis服务:检查是否能创建 TCP 链接到指定端口,返回 0 - 不能链接;1 - 能够链接
net.tcp.service[service,<ip>,<port>] 直接指定服务:检查服务是否运行并接受 TCP 链接,返回 0 - 服务关闭;1 - 服务运行
② 执行动做,10s,第一个action 1 执行成功,problem问题解决
由于第一个action1 执行成功,因此action 2没有执行
③ 恢复操做执行了,zabbix server 收到了mail "Resolved"
systemctl stop redis && rpm -e redis 中止服务,且删除redis
设置一个名为interface traffic packets 的图形
工做时间:白色
非工做时间:黑色
① interface traffic bytes 加入2个监控项
Local network 自带的maps 拓扑图;用处不是想象中那么大,就不讲了
主机配置模板:用于连接至目标主机实现快速监控管理;
link, unlink, unlink and clear
模板可继承;
主机link多个模板必须注意,模板们不能含有相同的item key。trigger和graphs中使用的items不能是来自多个模板。
③ complete 模板,应用集application、监控项items、触发器triggers、图形graphs、屏幕screens、自动发现discover rules、web检测web scenarios。
模板complete 的一系列添加设置,和主机host 几乎如出一辙,可是不会直接生效、采集数据;只有连接至主机才能生效、采集数据
区别:主机接口;complete 没有;host 有
(4)不想在host主机中使用模板,能够取消连接 或 取消并清除
若是有不少属于同一组内的主机host,想快速基于某模板监控,组group添加模板
全局:Administration --> General --> Macros ,对全部主机、全部模板都有效,优先级很低
模板:编辑模板 --> Macros ,对全部连接至此模板的主机都有效
主机:编辑主机 --> Macros ,仅对单个主机有效
内建宏:调用 {MACRO_NAME}
自定义:{$MACRO_NAME} ;命名方式:大写字母、数字和下划线
https://www.zabbix.com/documentation/3.4/manual/appendix/macros/supported_by_location
注意:宏的优先级:host 主机宏 > complete 模板宏 > 全局宏
下篇zabbix 操做进阶更精彩~~~