Zabbix是一款能够监控各种网络参数以及服务器健康性和完整性的软件。Zabbix使用灵活的通知机制,允许用户为几乎任何事件配置基于邮件的告警。这样可以快速反馈服务器的问题。基于已存储的数据,Zabbix提供了出色的报告和数据可视化功能。
Zabbix的主要特点包括:
多种监控方式:Zabbix支持SNMP、JMX、IPMI等多种监控方式,可以监控网络设备、操作系统、数据库、Web应用程序等各种系统组件。
自定义监控项:Zabbix允许用户自定义监控项,可以通过脚本、API等方式添加自定义监控项,以监测企业的特定应用程序和业务需求。
高度可配置:Zabbix提供了大量的配置选项,可以根据需要灵活配置监控对象、告警规则、通知方式、用户权限等设置。
丰富的预警机制:Zabbix支持多种告警规则,可以通过Email、短信、声音、微信等多种方式向管理员发送告警信息,支持条件触发、阈值判断等多种告警方法。
可视化展示:Zabbix提供了丰富的可视化展示功能,可以通过仪表盘、图表、地图等方式呈现监控数据。
网络拓扑图:Zabbix支持绘制全局网络拓扑图以及单个设备的拓扑图,可以帮助管理员更好地了解网络结构和连接状态。
zabbix主要由以下5个组件构成:
Zabbix在进行监控时,zabbix客户端要安装在被监控设备上,负责定期收集数据,并将其发送给zabbix服务端;zabbix服务端要安装在监控设备上,其将zabbix客户端发送的数据存储的数据库中,zabbix web根据数据在前端进行展示和绘图。
zabbix的数据收集分为两种模式:
主动模式:zabbix客户端主动向zabbix server请求监控项列表,并主动将监控项内需要的数据提交给zabbix server。
被动模式:zabbix server向 agent 请求获取监控项的数据,zabbix agent返回数据。
zabbix的主动和被动模式是以zabbxi客户端为基准的。
[song@hadoop102 ~]$ sudo service iptables stop
[song@hadoop102 ~]$ sudo chkconfig iptables off
[song@hadoop103 ~]$ sudo service iptables stop
[song@hadoop103 ~]$ sudo chkconfig iptables off
[song@hadoop104 ~]$ sudo service iptables stop
[song@hadoop104 ~]$ sudo chkconfig iptables off
SELinux(Security-Enhanced Linux)是一种Linux操作系统的安全加固措施,它提供了强大的访问控制机制来保护系统资源和数据的安全性。通常情况下,Linux系统使用标准的Unix访问控制(DAC)模式来实现安全管理,但是这种安全模式有许多缺陷。
SELinux通过引入一个三元(Subject-Object-Action)安全性模型,可以更加细粒度地控制系统中的各个资源的访问权限,从而更好地保护系统的安全。SELinux不仅能够保护文件、网络、进程等系统资源,还能够保护系统核心、设备、网络服务等重要组件的安全。
在SELinux的安全模型中,每个主体(Subject)都被授予一组安全上下文(Security Context),其中包括了用户、角色、类型等信息。每个对象(Object)也有一个安全上下文,包括了文件、目录、设备、网络端口等信息。在SELinux的安全策略中,规定了哪些主体可以执行哪些操作,并指定了允许访问的对象。只有当主体满足所有安全策略的要求时,才能够执行相应的操作。
SELinux的作用主要有以下几个方面:
提高系统的安全性能,提高系统的抗攻击能力。
精细控制用户的权限,只允许他们执行必要的操作。
可以帮助管理员更好地了解系统的运行状态和发现潜在的安全漏洞。
在保护系统和数据方面提供了一层额外的保障。
总之,SELinux是一种强大的Linux安全机制,可以提供更加细致的访问控制和更好的安全性能,提高了系统的稳定性、可靠性和安全性。
/etc/selinux/config
[song@hadoop102 ~]$ sudo vim /etc/selinux/config
修改如下内容
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[song@hadoop102 ~]$ sudo reboot
[song@hadoop102 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[song@hadoop103 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[song@hadoop104 ~]$ sudo rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
[song@hadoop102 ~]$ sudo yum install -y centos-release-scl
[song@hadoop103 ~]$ sudo yum install -y centos-release-scl
[song@hadoop104 ~]$ sudo yum install -y centos-release-scl
hadoop102、hadoop103、hadoop104
三台节点,依次执行如下步骤。
zabbix.repo
文件[song@hadoop102 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
查看内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=http://repo.zabbix.com/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0
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/5.0/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
[song@hadoop102 ~]$ sudo sed -i 's/http:\/\/repo.zabbix.com/https:\/\/mirrors.aliyun.com\/zabbix/g' /etc/yum.repos.d/zabbix.repo
[song@hadoop102 ~]$ sudo cat /etc/yum.repos.d/zabbix.repo
查看内容如下
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
enabled=0
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/5.0/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
打开/etc/yum.repos.d/zabbix.repo
文件,做如下修改
[zabbix]
name=Zabbix Official Repository - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ZABBIX-A14FE591
[zabbix-frontend]
name=Zabbix Official Repository frontend - $basearch
baseurl=https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/$basearch/frontend
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/5.0/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
在hadoop102、hadoop103、hadoop104
三台节点分别执行以下安装命令
[song@hadoop102 ~]$ sudo yum install -y zabbix-server-mysql zabbix-agent zabbix-web-mysql-scl zabbix-apache-conf-scl
[song@hadoop103 ~]$ sudo yum install -y zabbix-agent
[song@hadoop104 ~]$ sudo yum install -y zabbix-agent
[song@hadoop102 ~]$ mysql -uroot -p000000 -e"create database zabbix character set utf8 collate utf8_bin"
[song@hadoop102 ~]$ zcat /usr/share/doc/zabbix-server-mysql-5.0.9/create.sql.gz | mysql -uroot -p000000 zabbix
修改zabbix-server配置文件
[song@hadoop102 ~]$ sudo vim /etc/zabbix/zabbix_server.conf
DBHost=hadoop102
DBName=zabbix
DBUser=root
DBPassword=000000
修改zabbix-agent配置文件
[song@hadoop102 ~]$ sudo vim /etc/zabbix/zabbix_agentd.conf
修改如下内容:
Server=hadoop102
#ServerActive=127.0.0.1
#Hostname=Zabbix server
修改/etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
文件
[song@hadoop102 ~]$ sudo vim /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf
修改如下内容:
[zabbix]
user = apache
group = apache
listen = /var/opt/rh/rh-php72/run/php-fpm/zabbix.sock
listen.acl_users = apache
listen.allowed_clients = 127.0.0.1
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
php_value[session.save_handler] = files
php_value[session.save_path] = /var/opt/rh/rh-php72/lib/php/session/
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[date.timezone] = Asia/Shanghai
[song@hadoop102 ~]$ sudo systemctl start zabbix-server zabbix-agent httpd rh-php72-php-fpm
#设置开机自启动
[song@hadoop102 ~]$ sudo systemctl enable zabbix-server zabbix-agent httpd rh-php72-php-fpm
[song@hadoop103 ~]$ sudo systemctl start zabbix-agent
#设置开机自启动
[song@hadoop103 ~]$ sudo systemctl enable zabbix-agent
[song@hadoop104 ~]$ sudo systemctl start zabbix-agent
#设置开机自启动
[song@hadoop104 ~]$ sudo systemctl enable zabbix-agent
查看是否启动成功
sudo systemctl status zabbix-server zabbix-agent httpd rh-php72-php-fpm
[song@hadoop102 ~]$ sudo systemctl stop zabbix-server zabbix-agent httpd rh-php72-php-fpm
# 关闭开机自启动
[song@hadoop102 ~]$ sudo systemctl disable zabbix-server zabbix-agent httpd rh-php72-php-fpm
[song@hadoop103 ~]$ sudo systemctl stop zabbix-agent
# 关闭开机自启动
[song@hadoop103 ~]$ sudo systemctl disable zabbix-agent
[song@hadoop104 ~]$ sudo systemctl stop zabbix-agent
# 关闭开机自启动
[song@hadoop104 ~]$ sudo systemctl disable zabbix-agent
http://hadoop102/zabbix/
配置数据库
配置zabbix-server
用户名:Admin 密码:zabbix
查看创建的监控项
查看监控项最新数据
[song@hadoop102 hadoop-3.1.3]$ sbin/stop-dfs.sh
https://dl.grafana.com/oss/release/grafana-7.4.3-1.x86_64.rpm
https://repo.huaweicloud.com/grafana/7.4.3/grafana-7.4.3-1.x86_64.rpm
/opt/software
路径[song@hadoop102 software]$ sudo rpm -ivh grafana-7.4.3-1.x86_64.rpm
[song@hadoop102 software]$ sudo systemctl start grafana-server
查看是否启动
[song@hadoop102 software]$ sudo systemctl status grafana-server
[song@hadoop102 software]$ sudo systemctl stop grafana-server
http://hadoop102:3000/
,首次登录用户名和密码均为 admin
设置新密码或者跳过
使用Grafana与其他系统集成时,需要配置对应的DataSource
以下是插件部署步骤
安装插件
[song@hadoop102 software]$ sudo grafana-cli plugins install alexanderzobnin-zabbix-app
[song@hadoop102 software]$ sudo systemctl restart grafana-server
启用插件
配置zabbix数据源
新增数据源
搜索zabbix,并点击搜索结果
配置数据源,http://hadoop102/zabbix/api_jsonrpc.php