zabbix初级进阶
这篇文章主要对zabbix有一个全面且简单的了解
一.理论概述
zabbix功用
- 检测功能强大,手机监控信息,以及实时绘图(理论上实时绘图,测试时还是有时间延迟的),可以监控的比较全面,可以是windows或Linux服务器,也可以是网络设备,市面上大部分网络设备都支持SNMP(简单网络管理)协议
运行条件
zabbix server即监控端运行基本条件LAMP,相对来说,对硬件要求比较低(也可LNMP)
agent被监控端,安装zabbix agent软件包,而且基本市面上常见的设备
缺点
- 开源软件,免费版没有厂家支持,文献参观资料是比较多的,使用的企业也比较广泛
- 所有数据都在数据库里,会在数据库层面比较容易产生瓶颈
zabbix组件
- zabbix server:接受agent发送的报告信息,操作数据存储到数据库,以及如何绘图等.
- database storage:存储所有配置信息,以及监控的数据
- proxy:可选组件,用于监控节点很多,可以有效减轻server的压力
- agent:部署在被监控端,收集信息发往server端
- web interface:zabbix的GUI接口
监控流程概述
- agent定期收集各项数据,发送到server端,server将数据先存储到数据库,zabbix web根据数据在前端进行绘图展现
- agent监控模式
- 主动模式:agent主动向server请求,主动 将监控项内需要检测的数据提交给server端
- 被动模式:只要当server向agent请求获取监控项的数据时,agent返回数据
二.部署测试
环境
- 要求所有服务器配置yum epel源,且能上网,本案例演示部署配置zabbix,并且配置邮件报警
| 主机名 | IP地址 | 角色 |
|---|---|---|
| zserver | 192.168.111.3 | 负责监控所有主机,并处理数据 |
| agent | 192.168.111.4 | 被监控端 |
[root@zserver ~]# uname -n
zserver
[root@agent ~]# uname -n
agent
部署
- 依赖包及LAMP部署
[root@zserver ~]# yum -y install httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2 libxml2-devel
[root@zserver ~]# systemctl enable mariadb
[root@zserver ~]# systemctl start mariadb
[root@zserver ~]# systemctl start httpd
[root@zserver ~]# systemctl enable httpd
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@zserver ~]# mysqladmin -uroot password 123456
- 部署二进制包jdk
rm -rf /usr/bin/java
tar zxf jdk-8u191-linux-x64.tar.gz -C /usr/local/java8
echo "JAVA_HOME=/usr/local/java8" >> /etc/profile
source /etc/profile
echo "PATH=$PATH:$JAVA_HOME/bin" >> /etc/profile
source /etc/profile
[root@zserver ~]# javac -version
javac 1.8.0_191
- 安装rpm包zabbix
rpm -Uvh https://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm
#下载源
yum clean all
yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
#安装Zabbix server,Web前端,agent
- 数据库进行授权
[root@zserver ~]# mysql -u root -p123456
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 5
Server version: 5.5.60-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
#给zabbix程序创建专用库,默认字符集为utf8
Query OK, 1 row affected (0.00 sec)
MariaDB [(none)]>
MariaDB [(none)]> grant all privileges on zabbix.* to zabbix@zserver identified by '123456';
#给zabbix用户授权
MariaDB [(none)]> grant all on zabbix.* to zabbix@'192.168.111.3' identified by '123456';
Query OK, 0 rows affected (0.00 sec)
#给zabbix_server启动授权
MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)
- 导入初始架构和数据到zabbix库中
[root@zserver ~]# zcat /usr/share/doc/zabbix-server-mysql-3.0.27/create.sql.gz | mysql -u zabbix -p123456 zabbix
#zcat命令用于不真正解压缩文件,就能显示压缩包中文件的内容的场合。
MariaDB [(none)]> use zabbix;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
MariaDB [zabbix]> show tables;
+----------------------------+
| Tables_in_zabbix |
+----------------------------+
| acknowledges |
| actions |
| alerts |
…………
- 为Zabbix server配置数据库
[root@zserver ~]# vim /etc/zabbix/zabbix_server.conf
114 DBPassword=123456
- 现将本机性能进行监控
[root@zserver ~]# vim /etc/zabbix/zabbix_agentd.conf
95 Server=127.0.0.1
#哪台主机可以对我进行监控
136 ServerActive=127.0.0.1
#开启主动检查
147 Hostname=zserver
#zabbixserver的主机名
- zabbix前端配置PHP
[root@zserver ~]# vim /etc/httpd/conf.d/zabbix.conf
20 php_value date.timezone Asia/Shanghai
#取消注释,设置时区
- 启动zabbix server、agent进程
[root@zserver ~]# systemctl restart zabbix-server.service zabbix-agent.service
[root@zserver ~]# systemctl enable zabbix-server.service zabbix-agent.service
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-server.service to /usr/lib/systemd/system/zabbix-server.service.
Created symlink from /etc/systemd/system/multi-user.target.wants/zabbix-agent.service to /usr/lib/systemd/system/zabbix-agent.service.
[root@zserver ~]# systemctl restart httpd
web安装zabbix
输入:http://192.168.111.3/zabbix==>next step
==>Database host填写数据库所在服务器的主机名,和配置文件里对应好的;往下依次为端口,数据库库名称,用户,密码
==>输入主机名和端口(自己定义的)
搭建已经成功
优化
实在是做不下去了,官方推荐的方法有点不舒服
总结
- 我用源码安装zabbix测试时好好地,速度什么都还行,用了官网推荐的方式,特别慢,也不知道是不是少配置了一些东西
- zabbix监控有时间延时,基本不可能得到完全解决
- zabbix监控监控涵盖的太全面了,很多被监控项,有时不能得到具体的值,但是可以定义一些代表值来获取监控信息
zabbix初级进阶的更多相关文章
- css 初级进阶
摘自:https://www.jianshu.com/p/dcc40ccc9841 CSS中级 Class和ID选择器 CSS初级教程中我们可以使用HTML标签选择器定义样式. 同样你也可以使用Cla ...
- Java初级进阶中高级工程师必备技能
很多人学了javase以为自己学的已经很OK了,但是其实javase里边有很多的知识点是你不知道的,不管你找的是哪里的javase的视频,大多数是不会讲这些东西,而这些东西你平时业务又不会主动去接触, ...
- 第2章Zabbix基础进阶
p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-bottom: .0001pt; text-align: justify; t ...
- 项目实战12.2—企业级监控工具应用实战-zabbix操作进阶
无监控,不运维.好了,废话不多说,下面都是干货. 流量党勿入,图片太多!!! 项目实战系列,总架构图 http://www.cnblogs.com/along21/p/8000812.html 一.U ...
- 7、zabbix使用进阶(03)
节知识点: zabbix自动发现 web监控 zabbix自动发现 官网:https://www.zabbix.com/documentation/4.0/zh/manual/discovery/ ...
- 6、zabbix使用进阶(02)
zabbix知识点: zabbix可视化 自定义图形(graphs) 屏幕(screen) 宏(macros) 用户参数(User parameters):用户自定义items key的方式来实现自 ...
- 5、zabbix使用进阶(01)
详细描述user parameters.定义主机发现规则实现自动发现.如何定义和实现自动注册方式 zabbix常用术语 1.主机(host):要监控的网络设备,可有IP或DNS名称指定: 2.主机组( ...
- 如何使用zabbix初级监控
如何用zabbix监控(初步使用)? 前提:必须启动mysql 和zabbix目录下的sbin中的zabbix_agentd zabbix_server,还有nginx以及php否则会报错,因为zab ...
- C语言初级进阶1
1.数据类型1.1.基本数据类型数据类型分2类:基本数据类型+复合类型基本类型:char short int long float double复合类型:数组 结构体 共用体 类(C语言没有类,C++ ...
随机推荐
- EXCEL生成SQL脚本
有如下一张数据库表: 当然,Excel也是这个样子的,然后需要通过Excel的命令实现如下的脚本: insert into student(name,age) values('张三',15); 实现的 ...
- mysql定时任务event——清理过期数据 (转)
1.查询是否开启事件调度 SHOW VARIABLES LIKE 'event_scheduler'; 2.开启事件调度 临时: SET GLOBAL event_scheduler = 1; 永久: ...
- python调用shell命令
1.subprocess介绍 官方推荐 subprocess模块,os.system(command) 这个废弃了 亲测 os.system 使用sed需要进行字符转义,非常麻烦 python3 su ...
- 异步回收fork出的子进程(僵尸进程)
#include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h&g ...
- go context源码解析
go 的context贯穿整个goroutine的运行控制的中枢,可以实现执行的生命周期的控制. Context是一个接口,他派生了context.emptyCtx(TODO),cancelCtx,t ...
- 【C/C++开发】ffplay中的FrameQueue的自我理解
最近在研究ffplay,以下是本人今天在研究FrameQueue的时候整理的笔记,如有错误还请有心人指出来~ //这个队列是一个循环队列,windex是指其中的首元素,rindex是指其中的尾部元素. ...
- Spring jsp 验证 form:errors标签
1 在model层添加验证规则 @NotNull @Size(min=2,max =30,message="姓名在2-30个字符之间") private String userna ...
- mysql 开启log-bin功能
今天搜索了一下增量备份脚本,简单查了一下,增量备份是通过mysql binlog来做的,就是将某段时间内的操作,保存到某二进制日志当中.备份就是备这个日志,恢复也是通过它.然鹅,这里我们需要先开启 ...
- Oracle常用指令
/** 为了清晰化的显示:所有固定命令都是用大写格式显示 SQL语法分类:DML,DDL,DCL (1)DML(Data Manipulation Language ,数据库操作语言): 数据:增加 ...
- redis批量删除键的操作
网上也有很多关于批量删除的命令,例如,我们要删除以KEY开头的键.linux系统中当屏幕显示127.0.0.1:6379时,采用如下命令 redis-cli -h 192.168.1.1 -p 637 ...