1、 -安装zabbix server
1.1 下载安装zabbix-release-3.4 的server
1. 下载地址:http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/ 找到对应版本,比如下面的安装地址
2. rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-1.el7.centos.noarch.rpm
3. rpm -ql zabbix-release # 查看zabbix-release安装了哪些包(其中就有/etc/yum.repos.d/zabbix.repo)
4. yum makecache # 就是把服务器的包信息下载到本地电脑缓存起来
1.2 安装Zabbix部署包
yum -y install zabbix-server-mysql zabbix-web-mysql
1.3 我们测试自己监控自己所以要安装下面两个包(装zabbix)
yum -y install zabbix-server zabbix-agent
1.4 安装zabbix需要用的数据库
yum -y install mariadb-server
1.5 初始化数据库
1)在MySQL上安装Zabbix数据库和用户:
2)参考地址:https://www.zabbix.com/documentation/3.4/manual/appendix/install/db_scripts
systemctl start mariadb # 开启数据库
mysql -uroot –p # 登录数据库:没有密码
create database zabbix character set utf8 collate utf8_bin; # 创建数据库
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; # 创建zabbix用户密码zabbix,并授权
FLUSH PRIVILEGES;
1.6 然后导入初始架构(Schema)和数据
cd /usr/share/doc/zabbix-server-mysql-3.4.8/
zcat create.sql.gz | mysql -uroot zabbix -p # 将表导入到刚刚创建的zabbix数据库中
1.7 修改server配置文件zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBPassword=zabbix
DBPort=3306
1.8 启动zabbix服务
# 1、关闭防火墙
vim /etc/selinux/config #关闭防火墙
SELINUX=disabled
setenforce 0
systemctl stop firewalld
# 2、启动zabbix
systemctl start zabbix-server
systemctl status zabbix-server
1.9 编辑Zabbix前端的PHP配置
vim /etc/httpd/conf.d/zabbix.conf # 将时区改成上海
php_value date.timezone Asia/ShangHai
systemctl start httpd # 开启Apache服务
systemctl status httpd
1.10 配置完成后即可通过页面访问并进行设置
注:上面的操作实质生成 /etc/zabbix/web/zabbix.conf.php 文件
用户名/密码: Admin/zabbix
管理页面路径:http://1.1.1.5/zabbix/zabbix.php?action=dashboard.view
zabbix server基本操作
1、登录和配置用户
2、将zabbix server自己添加到监控中
- 修改agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=1.1.1.3 # 配置zabbix server地址
systemctl restart zabbix-agent # 重启zabbix-agent使配置生效
- 在页面上添加主机
- 如果失败请从以下几个方向检查
'''1、检查agent指向是否是server地址 '''
[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf
Server=192.168.56.14
'''2、检查防火墙'''
[root@linux-node1 ~]# getenforce # 检查selinux是否关闭
[root@linux-node1 ~]# systemctl status firewalld # 检查防火墙是否关闭
'''3、查看zabbix日志'''
[root@linux-node1 ~]# tail -f /var/log/zabbix/zabbix_agentd.log
2、 zabbix-agent安装配置 及 web界面管理
2.1 zabbix-agent安装与配置
- 安装zabbix-agent
1. 到server端查看安装的zabbix版本以安装对应agent版本:rpm -qa|grep zabbix
2. 找到清华大学镜像源找到对应版本的agent:https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/
3. 安装:rpm -ivh rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-agent-3.4.15-1.el7.x86_64.rpm
- 修改agent配置文件
vim /etc/zabbix/zabbix_agentd.conf
Server=1.1.1.5
开启zabbix-agent: systemctl start zabbix-agent
查看agent状态:systemctl status zabbix-agent
查看agent是否监听端口:netstat -lntp
查看zabbix_agent 日志:tail -f /var/log/zabbix/zabbix_agentd.log
- 自定义key(查看当前登录终端个数)
- linux中查看当前终端登录用户个数
[root@redis ~]# w
16:28:25 up 42 min, 2 users, load average: 0.00, 0.03, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 1.1.1.100 15:47 1.00s 0.24s 0.00s w
[root@redis ~]# w|awk 'NR==1{print $6}' # 获取当前登录用户数量(法1)
2
[root@redis ~]# w|awk -F ',' 'NR==1{print $2}'|awk 'NR==1{print $1}' # 获取当前登录用户数量(法2)
2
- 查看w命令绝对路径
[root@redis ~]# which w
/usr/bin/w
- 修改zabbix-agent配置文件 zabbix_agentd.conf 添加key
vim /etc/zabbix/zabbix_agentd.conf # 添加下面这条
UserParameter=log_user, /usr/bin/w|awk 'NR==1{print $6}'
systemctl restart zabbix-agent # 重启agent
- 在server上get上面配置key的值
yum -y install zabbix-get # 在server安装zabbix-get工具(如果按照失败使用清华源安装)
rpm -ivh https://mirrors.tuna.tsinghua.edu.cn/zabbix/zabbix/3.4/rhel/7/x86_64/zabbix-get-3.4.15-1.el7.x86_64.rpm
zabbix_get -s 1.1.1.3 -p10050 -k log_user # 在server端运行命令测试是否可以获取到
- 在server端可以获取到key值后即可 新建 “监控项” 使用key了
2.2 根据host创建 应用集、监控项、触发器(块速开始)
登录地址: http://0.0.0(IP地址)/zabbix/zabbix.php?action=dashboard.view
-
登陆和配置用户
管理(Administration) → 用户(Users) → 创建用户
-
新建主机
-
新建应用集
-
新建监控项
说明:监控项是Zabbix中获得数据的基础。没有监控项,就没有数据——因为一个主机中只有监控项定义了单一的指标或者需要获得的数据。
名称(Name):在列表中和其他地方,都会显示这个值作为监控项名称。
值(Key):这是监控项的一个技术上的名称,用于识别获取信息的类型。这个特定值需要是Zabbix Agent预定义值重的一种。
信息类型(Type of information):这个属性定义了想获得数据的格式
-
新建触发器
-
触发器定义
1. 监控项只是用于收集数据。如果需要自动评估收到的数据,我们则需要定义触发器。
2. 触发器包含了一个表达式,这个表达式定义了数据的可接受的阈值级别
3.如果收到的数据超过了这个定义好的级别,触发器将被“触发”,让我们知道有问题发生。
4. 如果数据再次恢复到合理的范围,触发器将会到“正常(Ok)”状态。 -
添加触发器
-
根据模板创建 应用集、监控项、触发器
1、模板作用
1. 我们在之前的章节中学会了如何配置监控项、触发器,以及如果从主机上获得问题的通知。
2. 虽然这些步骤提供了很大的灵活性,但仍然需要很多步骤才能完成。如果我们需要配置上千台主机,一些自动化操作会带来更多便利性。
3. 模版(templates)功能可以实现这一点。模版允许对有用的监控项、触发器和其他对象进行分组,只需要一步就可以对监控主机应用模版,以达到反复重用的目的。
4. 当一个模版链接到一个主机后,主机会继承这个模版中的所有对象。简单而言,一组预先定义好的检查会被快速应用到主机上。
2、创建模板
3、将主机中已有 “监控项” 复制到新建的模板中
- 前往'New host'的监控项列表。在配置(Configuration) → 主机(Hosts),点击‘New host’旁边的监控项(Items)。
- 勾选要复制的监控项,下面会出现一个复制按钮,点击复制按钮,就可以到一个新页面,选择要关联的模板即可
4、在新建的模板中 新建一个 “应用集”
* 配置 -----> 模板 -----> "找到要处理的模板"并点击 -----> 应用集 -----> 创建应用集(填一个应用集名称即可)
5、创建监控项
* 配置 -----> 模板 -----> "找到要处理的模板"并点击 -----> 监控项 -----> 创建监控项(参考上面监控项创建方法)
6、创建触发器
- 配置 -----> 模板 -----> "找到要处理的模板"并点击 -----> 触发器 -----> 创建触发器(参考上面触发器创建方法)
7、链接模版到主机