Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。
进程 |
alihadoop101节点 |
alihadoop102节点 |
alihadoop103节点 |
zabbix-agent |
√ |
√ |
√ |
zabbix-server |
|
√ |
|
zabbix-web |
|
√ |
|
zabbix是监控集群的状态的。在这里我们测试的是hadoop集群的监控。所以我们先把hadoop集群关闭。
[an1@hadoop101 ~]$ sudo systemctl stop firewalld
[an1@hadoop101 ~]$ sudo systemctl disable firewalld
[an1@hadoop102 ~]$ sudo systemctl stop firewalld
[an1@hadoop102 ~]$ sudo systemctl disable firewalld
[an1@hadoop103 ~]$ sudo systemctl stop firewalld
[an1@hadoop103 ~]$ sudo systemctl disable firewalld
[an1@hadoop101 ~]$ sudo vim /etc/selinux/config
修改如下内容
SELINUX=disabled
重启服务器
sudo reboot
从阿里云镜像中下载zabbix安装yum源,并执行安装命令。
[an1@hadoop101 ~]$ sudo rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[an1@hadoop102 ~]$ sudo rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
[an1@hadoop103 ~]$ sudo rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
alihadoop101、alihadoop102、alihadoop103三台节点,依次执行如下步骤
1)查看原始zabbix.repo文件
[an1@hadoop101 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
查看内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=http://repo.zabbix.com/zabbix/4.4/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=http://repo.zabbix.com/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
2)执行以下命令完成以下替换
[an1@hadoop101 ~]$ sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
3)查看修改之后的zabbix.repo文件
[an1@hadoop101 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-debuginfo]
name=Zabbix Official Repository debuginfo - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/$basearch/debuginfo/
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
gpgcheck=1
[zabbix-non-supported]
name=Zabbix Official Repository non-supported - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/non-supported/rhel/7/$basearch/
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX
gpgcheck=1
4)以上动作在另外两台机器上同样的操作。
在alihadoop101,alihadoop102,alihadoop103三台节点分别执行以下安装命令
[an1@hadoop101 ~]$ sudo yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
[an1@hadoop102 ~]$ sudo yum -y install zabbix-agent
[an1@hadoop103 ~]$ sudo yum -y install zabbix-agent
在安装mysql数据库的节点执行,创建数据库
[an1@hadoop102 ~]$ mysql -uroot -p000000 -e"create database zabbix character set utf8 collate utf8_bin"
[an1@hadoop102 ~]$ zcat /usr/share/doc/zabbix-server-mysql-4.4.10/create.sql.gz | mysql -uroot -p000000 zabbix
修改zabbix-server配置文件
sudo vim /etc/zabbix/zabbix_server.conf
DBHost=alihadoop102
DBName=zabbix
DBUser=root
DBPassword=000000
修改zabbix-agent配置文件,Server是agent_server所在的节点。这里我做的时候有个坑,agent_server所在的节点和mysql所在的节点要一致。
sudo vim /etc/zabbix/zabbix_agentd.conf
Server=alihadoop102
#ServerActive=127.0.0.1
#Hostname=Zabbix server
[an1@hadoop102 ~]$ sudo vim /etc/httpd/conf.d/zabbix.conf
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value max_input_vars 10000
php_value always_populate_raw_post_data -1
php_value date.timezone Asia/Shanghai
加上 php_value date.timezone Asia/Shanghai
[an1@hadoop102 ~]$ sudo systemctl start zabbix-server zabbix-agent httpd
[an1@hadoop102 ~]$ sudo systemctl enable zabbix-server zabbix-agent httpd
[an1@hadoop101 ~]$ sudo systemctl start zabbix-agent
[an1@hadoop101 ~]$ sudo systemctl enable zabbix-agent
[an1@hadoop103 ~]$ sudo systemctl start zabbix-agent
[an1@hadoop103 ~]$ sudo systemctl enable zabbix-agent
[an1@hadoop102 ~]$ sudo systemctl stop zabbix-server zabbix-agent httpd
[an1@hadoop102 ~]$ sudo systemctl disable zabbix-server zabbix-agent httpd
[an1@hadoop101 ~]$ sudo systemctl stop zabbix-agent
[an1@hadoop101 ~]$ sudo systemctl disable zabbix-agent
[an1@hadoop103 ~]$ sudo systemctl stop zabbix-agent
[an1@hadoop103 ~]$ sudo systemctl disable zabbix-agent
1)浏览器访问 http://alihadoop102/zabbix/。zabbix默认web端口为80.
2)检查配置
3)配置数据库
4)配置zabbix-server,hadoop102是server所在的节点。
5)安装成功,生成数据库配置文件:/etc/zabbix/web/zabbix.conf.php
用户名:Admin 密码:zabbix
一台你想监控的网络设备,用IP或域名表示。
你想要接收的主机的特定数据,一个度量数据。
一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。
一个对事件做出反应的预定义的操作,比如邮件通知。
1)点击配置/主机/创建主机
2)配置主机(Host)
3)查看新增(Host)
4)重复以上步骤,再创建alihadoop102、alihadoop103主机。
1)点击监控项(Item)
2)点击创建监控项(Create Item)
3)配置监控项(Item)
4)查看创建的监控项
5)查看监控项最新数据
1)点击配置/主机/触发器
2)点击创建触发器
1)点击配置/动作/创建动作,编辑动作。这里第一次,直接点添加就可以了。
1)设置
2)开启SMTP服务
3)记好授权码
1)点击管理/报警媒介类型/Email
2)编辑Email
3)测试Email
4)Email绑定收件人
1)关闭集群
[an1@hadoop101 ~]$ myhadoop.sh stop
2)收到邮件
3)仪表盘内容
4)再次启动集群
[an1@hadoop101 ~]$ myhadoop.sh start
5)恢复正常
1)点击配置/模板/创建模板
2)配置模板名称/群组
3)配置监控项
4)配置触发器
5)配置动作
6)配置模板
同样,alihadoop103也是配置同样的模板。
7)测试
启动,关闭集群,查看邮件是否能收到。
我这里收到了。