1:搭建zabbix
2:添加linux主机,添加被监控的节点
3:监控linux上面的服务 LAMP(apache)
4:如何配置告警 通过邮件/短信来告知用户报警
5:zabbix如何自动修好服务(监控不仅是监控)
#zabbix-server不支持windows
#
一、安装方式
Zabbix 有四种安装方式
1.通过官方发行包安装
1> 红帽系可以使用 RPM 包安装
2> Ubuntu/Debian 使用 Deb 包安装
下载地址:https://www.zabbix.com/cn/download
2.通过源码包编译安装 下载地址:https://www.zabbix.com/cn/download_sources#tab:40LTS
3.通过容器镜像安装 下载地址:https://www.zabbix.com/cn/container_images 4.通过定制的 ISO 安装 下载地址:https://www.zabbix.com/cn/download_appliance
源码包位置:zabbix.com
#:LTS,因为LTS是长期开发稳定版,不带LTS不稳定
it行业最流行的web架构
#LNMP
#LAMP
L:linux
N:Nginx A:apache web服务器
M:mysqp
p:php 动态脚本
环境规划:两台虚拟机node1和node2
4.1初始化环境配置
设置主机名:
node1:hostnamectl set-hostname node1.examle.com
node2:hostnamectl set-hostname node2.example.com
关闭防火墙和SELINUX(node1,2均需操作):
systemctl stop firewalld
systemctl disable firewalld(禁用开机启动)
关闭SELINUX:
getenforce
显示Enforing #目前处于警告模式
setenforce 0
vim /etc/sysconfig/selinux
#:将enforcing改成disabled
检验:getenforce
显示permissive:权限拒绝 表示改成功了
#selinux:安全机制,基于内核的安全机制
4.2 配置网络
均配置为nat模式,配置到同一网段
4.3 配置yum源
cd /etc/yum.repos.d/
ls
需要删除以前所有的yum源头:rm -rf *
ls
#创建新的源
vim install.repo
注意:需要三个源头,一个基础base,一个扩展epel,一个zabbix源头
#【base】
name=centos7
baseurl=https://mirrors.aliyun.com/epel/7/x86_64/?spm=a2c6h.25603864.0.0.69a263d4URXXxD
enabled=1 #是否启动
gpgcheck=0 #开启验证
【epel】
name=epel
baseurl=https://mirrors.aliyun.com/centos/7/os/x86_64/?spm=a2c6h.25603864.0.0.54d14d00zO1jY2
enabled=1
gpgcheck=0
【zabbix】
name=zabbix
baseurl=
enabled=0
gpgcheck=1
#清空yum 源 yum cleam all
#生成新的缓存 yum makecache
ls
把node1repo的传到node2里面去:
scp install.repo root@ip地址:/etc/yum.repos.d/install.repo
yes
输入密码
回到node2:
#把除了install.repo的都删除掉
rm -rf C*(只留install.repo一个)
yum clean all
yum makecache
拓展知识点epel有什么用:除了标准源之外的额外的软件源
#如何找yum源头:进入albb镜像站
albb.com
node1:
#yum install mariadb-server -y
启动mariadb:
systemctl start mariadb
开机自启:systemctl enabled mariadb
#初始化数据库
mysql -u root -p#直接回车
#zabbix一定要设置字符集utf-8
create database zabbix character set utf8 collate utf8_bin;
#授权. 创建用户zabbix 给密码password
grant all privileges on zabbix.* to zabbix@localhost identified by 'password';
show databases;
#如何查用户创建成功没
select User from mysql.user;
#退出 quit
yum install zabbix-server-mysql
#会发现报错了 因为centos7 系基础和扩展源缺少,这个包jabber协议通讯的客户端
#缺少依赖包 如果缺包就去rpmfind.net找包
#下载缺少的包
yum localinstall http://springdale.math.ias.edu/data/puias/unsupported/7/x86_64/ik semel-1.4-6.sdl7.x86_64.rpm -y
#zabbix-server已经被整合了因为安装了 zabbix-server-mysql
#rpm -ql zabbix-server-mysql
rpm -ql查询生成文件有那些:
/usr/share/doc/zabbix-server-mysql-4.0.44/create.sql.gz
给他复制走 cp /usr/share/doc/zabbix-server-mysql-4.0.44/create.sql.gz /tmp/
cd /tmp/
ls
#解压这个包
gunzip create.sql.gz
#将导入的包导进数据库
mysql -u root -p -D zabbix < create.sql
不输入密码回车
showdatabases
use zabbix;
show tables;
配置zabbix:
cd/etc/zabbix
pwd
ls
vim zabbix_server.conf
#手册地址
修改配置文件:dbname,DBuser,DBpassword
修改mysql socket(进程间通信套接字):
DBSocket=/var/lib/mysql/mysql.sock
#sock 如果你的zabbix-server和zabbix-db在用一台主机上用sock
然后保存wq
重新启动服务:
systemctl start zabbix-server
systemctl enable zabbix-server
yum install zabbix-web zabbix-web-mysql -y
#zabbix-web 包含了前端
#zabbix-web-mysql 包含了web去连接mysql的文件
#启动apache
systemctl start httpd
systemctl enable httpd
访问下网页:输入ip检验是否成功
#配置httpd
cd /etc/httpd
ls
cd conf.d/
ls
vim zabbix.conf
配置结尾再写一个:
#重启apache
systemctl restart httpd
再次访问网页:
#泪目了 访问成功
点击NEST step
#报错了 时区没设置
#继续修改配置文件将时区改为上海
php_value date.timezone asia/shanghai
重启httpd
刷新网页
#泪目 又成功了
账号:Admin 密码:zabbix
#再次泪目终于成功了
汉化:点击头像设置language
#点开server发现服务器乱码因为设置汉化的原因
下一步搞定乱码:别眨眼 (别的服务器也可以)
#Node1和node2做时间同步:
ntpdate ntp.aliyun.com
乱码是什么情况呢:编码不匹配,系统不认识它
#cd /usr/share/zabbix/
pwd
⚠️:发现有很多的php文件,而网站的字体文件在网站的更目录,就是找到网站的字体文件
#字体文件以TTF结尾
#如何快速找到这个文件:
find -name '*.ttf'
显示路径:./assets/fonts/graphfont.ttf
cd ./assets/fonts/
ls
⚠️:显示ttf文件
#将ttf替换成能够识别的中午,就得到了正常的中文
#windows的字体文件路径
此电脑-c-windows-Fonts 选择一个中文字体(选择自己喜欢的姿势(字体))-复制-粘贴导桌面
#node2里面
yum install zabbix-agent -y
#修改配置文件
⚠️如何找配置文件路径:rpm -ql zabbix-agent
cd /etc/zabbix/
ls
vim zabbix_agentd.conf
⚠️:server 被动 Activeserver主动模式
#他的主动和被动都是基于agent而言的
#修改的内容
server
serveracyive
port
启动agent:
systemctl start zabbix-agent
systemctl enable zabbiix-agent
#添加主机
#主机名一定要于配置文件一直 写入node2
添加成功了
误区:
解决node2可用性没有变:
1:需要添加监控项
应用集选为test
#什么是应用集:监控disk,就的监控它的使用率,剩余,文件系统,把这些功能和在一起
#配置完需要等十秒获取数据
登录node1装zabbix-get:get是一个测试工具可以测试server能否从zabbix-agent获取数据
yum install zabbix-get -y
get语法:
zabbix_get -h | head
zabbix_get -s 192.168.12.98 -k agent.hostname
#显示对端主机名node2
zabbix_get -s 192.168.23.98 -k system.hostname
#显示node2.example.com
#刷新网页,可用性启动成功
高端操作:邮件报警
实战: 监控ssh这个服务,当这个服务故障时,发送邮件告警
⚠️ 先去node2查看开放的端口:netstat -ntlp|grep 22
理清楚监控的思路:监控22端口是否监听如果22监听了说明这个ssh服务正常,反之则故障
然后修改里面数据进行自定义:
#去node1测试端口
#1表示正在监听服务正在运行