在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Zabbix是完全开源的软件,是用C语言写的,只发社区版。 Zabbix由server和可选组件agent两部分构成。可以通过SNMP、zabbix agent、ping、端口监视等方法提供对远程服务器、网络状态的监视、数据收集等功能,它可以运行在Linux、Solaris、HP-UX、AIX、FreeBSD、OpenBSD、OS X等平台上。 Salestack 应用自动化部署 Anshable Cacti+nagios(状态变化做报警) 200-300台
一、监控模块
1.数据采集 snmp简单网络管理协议 版本V1(明文传输)、V2(明文传输)、V3 ssh sshd远程连接到服务器,执行脚本 再发回来
2.数据存储 cacti早期用的rrdb 轮转数据 监控前声明保存时间,无法修改 3.数据展示及分析 web界面提供 4.数据报警及分析 报警无效之后报警升级
Zabbix 整个架构最大支持10万台 单机五万台理论数据 一般1万台左右。
二、3种采集方式 Agent : 专用代理 软件到软件的传输 加密传输。可以监控应用 甚至可以监控到多少用户登录 监控点细 Snmp : 监控网络设备 采集器 :主动模式 -不是只能用模版提供的标准检测器方式
三、监控数据存储媒介 RDBMS:Oracle(成本较高)、Mysql、SQLServer、PGSQL 数据展示及分析 安装Apache Nginx
四、相关rpm包
zabbix-release:会生成一个zabbix的yum源,可以直接下载相关软件包。
zabbix-web:zabbix要使用web界面,这个包是用来处理Apache和php,mysql等之间的依赖关系。
zabbix-web-mysql:这个是zabbix前段支持mysql的
zabbix-java-gateway:用于监控JMX应用的程序,它把收集到的信息发送个(这个看需求安装)
监控端 zabbix-server
Zabbix-server-mysql
apache
Zabbix-web
Zabbix-web-mysql
Zabbix(核心包)
Zabbix-get zabbix的一个工具,用来检查是否可以获取服务器信息(一般服务端要安装)
Sendmail(无法进行密码验证) mailx命令发邮件
依赖包
也可以安装 agent 监控监控服务器状态
被监控端 zabbix-agent zabbix客户端,用来收集客户端各种参数
Zabbix(核心包)
Zabbix-sender
服务器端Zabbix_get 手动测试抓取数据命令工具 被监控端 zabbix-sender 用于采集数据发送数据给server或者proxy。 Zabbix-proxy zabbix proxy可以代替zabbix server检索客户端的数据,然后把数据汇报给zabbix server,并且在一定程度上分担了zabbix server的压力。zabbix proxy可以非常简便的实现了集中式、分布式监控。 3.4以上版本 PHP版本至少是5.4 rpm –Uvh 软件升级 tar –xzf php5.6.31.tar.gz
systemctl stop firewalld systemctl stop NetworkManager
五、部署Mysql数据库主从 1.配置yum源 vim /etc/yum.repos.d/yum.repo 编辑内容 [zabbix3.4] name=zabbixserver enabled=1 gpgcheck=0 baseurl=file:///mnt/cdrom 保存退出 挂载光盘 mount /dev/cdrom /mnt/cdrom 可以在/etc/fstab设置自动挂载 /dev/cdrom /mnt/cdrom auto exec 0 0
yum clean all yum repolist 查看是否挂在成功
2.搭建Mysql5.7 安装相关依赖包 yum -y groupinstall "Development tools" yum -y install ncurses ncurses-devel openssl-devel bison gcc gcc-c++ make
解压Mysql的tar包 tar -xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
复制相关目录 复制解压后的mysql到mysqlbase目录 cp -rf mysql-5.7.12-linux-glibc2.5-x86_64 /usr/local/mysql 创建用户 useradd mysql 创建数据目录 mkdir -p /home/mysql3306/mysql3306 创建日志目录 mkdir -p /home/mysql3306/logs 修改相关目录权限 chown mysql:mysql -R /home/mysql3306 chown mysql:mysql -R /usr/local/mysql 配置文件 cp my3306.cnf /etc/my3306.cnf
初始化mysql /usr/local/mysql/bin/mysqld --defaults-file=/etc/my3306.cnf --initialize-insecure --explicit_defaults_for_timestamp --basedir=/usr/local/mysql --datadir=/home/mysql3306/mysql3306/ --user=mysql
启动MySQL /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --datadir=/home/mysql3306/mysql3306/ --user=mysql &
进入MYSQL /usr/local/mysql/bin/mysql -S /tmp/mysql3306.sock
SQL> select user,host,authentication_string from mysql.user; update mysql.user set authentication_string=password('root') where user='root'; delete from mysql.user where host='::1'; delete from mysql.user where user=''; flush privileges;
启动MySQL /usr/local/mysql/bin/mysqld_safe --defaults-file=/etc/my3306.cnf --datadir=/home/mysql3306/mysql3306/ --user=mysql &
创建主库同步用户
grant REPLICATION CLIENT,REPLICATION SLAVE on *.* to rep@'%' identified by 'monitor';
grant all on *.* to rep@’%’ identified by ‘monitor’
查看主库服务器状态
show master status
主库加锁 防止变化 Flush tables with read lock;
从库设置同步主库 change master to master_host='10.2.2.21',master_user='rep',master_password='aimer',master_log_file='mysql-bin.000002',master_log_pos=1207,MASTER_PORT=3306;
show slave status\G
看到最下面两个yes 主从配置成功
六、部署zabbix server 1.操作系统版本 [root@aws zabbix]# cat /etc/centos-release CentOS Linux release 7.5.1804 (Core)
Vi /etc/resolv.conf Nameserver 8.8.8.8
cd /etc/yum.repos.d wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm [root@aws yum.repos.d]# wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 2.在安装zabbix的时候报错(红色是执行的语句),如下:
3.这两个模块的yum源比较少,在网上发现163的yum源包含它们,那么就需要替换yum源,步骤如下: vim CentOS7-Base-163.repo
10. # 11. # 12. [base] 13. name=CentOS-$releasever - Base - 163.com 14. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os 15. #baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ 16. baseurl=http://mirrors.163.com/centos/7/os/x86_64/ 17. gpgcheck=1 18. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
20. #released updates 21. [updates] 22. name=CentOS-$releasever - Updates - 163.com 23. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates 24. #baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ 25. baseurl=http://mirrors.163.com/centos/7/updates/x86_64/ 26. gpgcheck=1 27. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
29. #additional packages that may be useful 30. [extras] 31. name=CentOS-$releasever - Extras - 163.com 32. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras 33. #baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ 34. baseurl=http://mirrors.163.com/centos/7/extras/x86_64/ 35. gpgcheck=1 36. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7 37. 38. #additional packages that extend functionality of existing packages 39. [centosplus] 40. name=CentOS-$releasever - Plus - 163.com 41. #baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ 42. gpgcheck=1 43. enabled=0 44. gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7
yum clean all yum makecache
yum install zabbix-get zabbix-sender zabbix-server-mysql zabbix-web-mysql zabbix-agent
生成快照updatedb 查找create.sql文件位置 [root@localhost ~]# locate create.sql
7、切换到zabbix-server目录 [root@localhost ~]# cd /usr/share/doc/zabbix-server-mysql-3.4.9/ [root@localhost zabbix-server-mysql-3.4.9]# ll -h total 2.1M -rw-r--r-- 1 root root 98 May 9 17:57 AUTHORS -rw-r--r-- 1 root root 822K May 9 17:57 ChangeLog -rw-r--r-- 1 root root 18K May 9 17:57 COPYING -rw-r--r-- 1 root root 1.3M May 9 18:01 create.sql.gz -rw-r--r-- 1 root root 52 May 9 17:57 NEWS -rw-r--r-- 1 root root 188 May 9 17:57 README 9、解压create.sql.gz这个文件: [root@localhost zabbix-server-mysql-3.4.9]# gunzip create.sql.gz 10、把这个create.sql导入到数据库中,时间可能稍微有些长,多等一会。 [root@localhost zabbix-server-mysql-3.4.9]# mysql -uzabbix -p zabbix < create.sql 11、查找这个mysql.sock文件路径,记下来,一会要用到: [root@localhost zabbix-server-mysql-3.4.9]# locate
mysql3306.sock
安装php5.6.31 执行【 yum install -y gcc gcc-c++ openssl openssl-devel libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel gd bzip2 bzip2-devel curl curl-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel】 开始安装了,漫长的过程.....总下载量61M.
./configure --prefix=/usr/local/php5.6.31/ make make install rpm -ql查看是否安装成功
配置主配置文件 vi /etc/zabbix/zabbix_server.conf
监听端口10051 日志文件路径 LogFile=/var/log/zabbix/zabbix_server.log pid文件路径 pidfile=/var/run/zabbix/zabbix_server.pid
DBHost=localhost #mysql的ip地址
如果mysql和zabbix server是同一台机器,IP地址写本机IP或127.0.0.1
保存退出 Server配置完成
登录数据库配置
mysql –S /tmp/mysql3306.sock #登陆数据库 create database zabbix character set utf8 collate utf8_bin; #创建zabbix数据库 grant all on zabbix.* to monitor@'%' identified by 'monitor'; #授权 flush privileges; show processlist; 查看当前用户信息
数据库中操作完成
七、配置web页面 查看apche是否安装 rpm –ql httpd
启动apche服务 systemctl start httpd
出现此报错:ip反解析主机名错误 vim /etc/httpd/conf/httpd.conf ServerName 注释打开 改成本机地址
浏览器中打开http://10.2.2.22 看到测试页说明Apache正常工作 但页面是apche的欢迎页面 rpm –ql zabbix-web
查看子配置文件zabbix.conf vim /etc/httpd/conf.d/zabbix.conf
Alias /zabbix /usr/share/zabbix 定义别名路径 访问web输入 ip地址/zabbix http://10.2.2.22/zabbix
此红色报错为时区不一致 vim /etc/php.ini 修改时区 946行 date.timezone=Asia/Shanghai 重启apache服务生效 systemctl restart httpd
设置支持中文字体 一般会发现web页面下的中文会出现小方框乱码 1.进入web根目录下的fonts目录,将windows的宋体字体 导入simsun.ttf
2.编辑zabbix字体定义文件 [root@zabbix ~]# vim /usr/share/zabbix/include/defines.inc.php
或者执行以下替换命令: sed -i 's/graphfont/simkai/g' /usr/share/zabbix/include/defines.inc.php
都是ok 点下一步
先点 test connection 显示ok
点击 finish完成 vim /etc/zabbix/web/zabbix.conf.php 内容保存到此文件中,后期有配置的修改,改此文件即可 初始密码用户名Admin 密码zabbix
访问之前先启动 zabbix server systemctl start zabbix-server
如果出现zabbix web菜单无法点击 chmod 777 /var/lib/php/session/
zabbix主页面
guest用户禁用
节点2安装 zabbix-proxy
vi/etc/zabbix/zabbix-proxy.conf
Server=10.2.2.22 #同步指向的server端的IP,非本地IP。可以是server端的主机域名,但要确保proxy端解析server的域名,并且网络可达 Hostname=monitor2 #proxy本地的名称,此名称需要与将来在server端的WEB页面上的代理程序名称一致,名称自定义 DBHost=10.2.2.22 #与上面配置对应 DBName=zabbix #与上面配置对应 DBUser=monitor #与上面配置对应 DBPassword=monitor #与上面配置对应 DBPort=3306 #与上面配置对应 -
Systemctl start zabbix-proxy 致此,系统级proxy安装设置完成。回到server 端WEB页面添加代理机。如下。 管理-àagent代理程序à创建代理
*代理名称要与上面HOSTNAME名称一致
之后添加的主机可以选择monitor2 代理服务器
|
2022-08-30
2022-08-17
2022-11-06
2022-08-15
2022-08-18
请发表评论