一、配置两台Linux主机的环境
主机 | 角色 |
192.168.200.112 | server.zabbix.com |
192.168.200.113 | agent.server.com |
192.168.200.11 | windows10 |
1、修改主机名(主机名一定要修改,很重要)
server端
[root@server ~]# vim /etc/hosts 192.168.200.112 server.zabbix.com 192.168.200.113 agent.zabbix.com 192.168.200.11 windows10 [root@server ~]# vim /etc/hostname server.zabbix.com [root@server ~]# hostname server.zabbix.com [root@server ~]# bash
agent端
[root@agent ~]# vim /etc/hosts 192.168.200.112 server.zabbix.com 192.168.200.113 agent.zabbix.com 192.168.200.11 windows10 [root@agent ~]# vim /etc/hostname agent.zabbix.com [root@agent ~]# hostname agent.zabbix.com [root@agent ~]# bash
2、安装阿里镜像源
[root@server ~]# cd /etc/yum.repos.d/ [root@server yum.repos.d]# ls a Centos-7.repo CentOS-Media.repo
3、关闭防火墙和linux安全机制
[root@server ~]# systemctl stop firewalld [root@server ~]# iptables -F [root@server ~]# setenforce 0
二、server端监控
1、部署LAMP环境,提供zabbix访问页面,其中PHP部分选项是为zabbix提供支持
yum -y install httpd mariadb-server mariadb mariadb-devel php php-mbstring php-mysql php-bcmath php-gd php-xmlrpc php-ldap php-xml libevent libevent-devel net-snmp net-snmp-devel libxml2-devel ntpdate
2、同步清华大学时间服务器
ntpdate s1a.time.edu.cn
3、启动LAMP对应服务
systemctl start mariadb systemctl enable mariadb //设为开机启动项 systemctl start httpd systemctl enable httpd mysqladmin -uroot password 123123
4、准备java环境
[root@server ~]# java -version -bash: java: 未找到命令 [root@server ~]# javac -version //若是原先有java环境,需要将原先的java环境删除,因为监控tomcat时需要javac -bash: javac: 未找到命令 [root@server ~]# tar -xf jdk-8u191-linux-x64.tar.gz [root@server ~]# mv jdk1.8.0_191/ /usr/local/java [root@server ~]# vim /etc/profile export JAVA_HOME=/usr/local/java export PATH=$PATH:$JAVA_HOME/bin [root@server ~]# source /etc/profile [root@server ~]# java -version java version "1.8.0_191" Java(TM) SE Runtime Environment (build 1.8.0_191-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode) [root@server ~]# javac -version javac 1.8.0_191
5、源码安装zabbix
[root@server ~]# tar -xf zabbix-3.4.11.tar.gz -C /usr/src/ [root@server ~]# cd /usr/src/zabbix-3.4.11/ [root@server zabbix-3.4.11]# ./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libcurl --with-libxml2 --enable-java && make -j2 && make install 出错了的话因为缺少模块 yum -y install curl-devel
6、Mariadb数据库授权
[root@server ~]# mysql -uroot -p123123 MariaDB [(none)]> create database zabbix character set utf8; //创建数据库,更改字符集 MariaDB [(none)]> grant all on zabbix.* to zabbix@localhost identified by 'zabbix'; //授权,用户为zabbix,密码为zabbix,给localhost的配置 MariaDB [(none)]> grant all on zabbix.* to zabbix@'192.168.200.112' identified by 'zabbix'; //给本机做配置,目的是为zabbix_server启动授权 MariaDB [(none)]> flush privileges; //刷新授权表 MariaDB [(none)]> exit
[root@server ~]# cd /usr/src/zabbix-3.4.11/ [root@server zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/schema.sql //将文件按顺序导入数据库中 [root@server zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/images.sql [root@server zabbix-3.4.11]# mysql -uzabbix -pzabbix zabbix < database/mysql/data.sql
MariaDB [(none)]> use zabbix; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed MariaDB [zabbix]> show tables; 可以看到已经有数据了 ------。。。。。。---------- | valuemaps | | widget | | widget_field | +----------------------------+ 140 rows in set (0.00 sec)
7、创建zabbix程序用户并授权防止权限出错
[root@server ~]# useradd -M -s /sbin/nologin zabbix [root@server ~]# cd /usr/local/ [root@server local]# ls bin games java lib64 sbin src etc include lib libexec share zabbix [root@server local]# chown -R zabbix:zabbix zabbix/ [root@server local]# cd zabbix/ [root@server zabbix]# pwd /usr/local/zabbix [root@server zabbix]# mkdir logs [root@server zabbix]# chown zabbix:zabbix logs/ [root@server zabbix]# cp -p etc/zabbix_server.conf{,.bak} [root@server zabbix]# cp -p etc/zabbix_agentd.conf{,.bak}
8、修改zabbix配置文件
[root@server ~]# cd /usr/local/zabbix/etc/ [root@server etc]# ls zabbix_agentd.conf zabbix_server.conf zabbix_agentd.conf.bak zabbix_server.conf.bak zabbix_agentd.conf.d zabbix_server.conf.d 备份 [root@server etc]# vim zabbix_server.conf LogFile=/usr/local/zabbix/logs/zabbix_server.log PidFile=/tmp/zabbix_server.pid DBHost=192.168.200.112 DBName=zabbix DBUser=zabbix DBPassword=zabbix DBSocket=/var/lib/mysql/mysql.sock Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf ============================================== 注释: LogFile=/usr/local/zabbix/logs/zabbix_server.log //指定zabbix日志位置 PidFile=/tmp/zabbix_server.pid //指定zabbix pid文件的位置 DBHost=192.168.200.112 //指定数据库主机 DBName=zabbix //指定数据库名为zabbix DBUser=zabbix //指定用户为zabbix DBPassword=zabbix //指定密码为zabbix DBSocket=/var/lib/mysql/mysql.sock //指定Mysql的sock文件 Include=/usr/local/zabbix/etc/zabbix_server.conf.d/*.conf //引用这个路径下的所有.conf文件
[root@server etc]# vim zabbix_agentd.conf PidFile=/tmp/zabbix_agentd.pid Server=127.0.0.1,192.168.200.112 ServerActive=192.168.200.112 Hostname=server.zabbix.com //指定zabbixserver主机名 LogFile=/usr/local/zabbix/logs/zabbix_agentd.log Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf
[root@server etc]# ln -s /usr/local/zabbix/sbin/* /usr/local/bin/ [root@server etc]# zabbix_server //启动服务端 [root@server etc]# zabbix_agentd //启动客户端
9、配置php与apache
[root@server ~]# mv /usr/src/zabbix-3.4.11/frontends/php/ /var/www/html/zabbix [root@server ~]# chown -R apache:apache /var/www/html/zabbix/ [root@server ~]# vim /etc/php.ini 384 max_execution_time = 300 //单位秒。通过POST、GET以及PUT方式接收数据时间进行限制 394 max_input_time = 300 //php程序上传文件解析数据时的时间限制 672 post_max_size = 32M //POST方式请求数据所允许的最大大小 405 memory_limit = 128M //设置php程序的内存限制 853 extension=bcmath.so //加载zabbix程序需要加载的扩展模块bcmath.so(手动添加) 878 date.timezone = Asia/Shanghai //时区 [root@server ~]# systemctl restart httpd [root@server ~]# netstat -anpt | egrep ':10050|:10051|:80' tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 38515/zabbix_agentd tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 38508/zabbix_server tcp6 0 0 :::10050 :::* LISTEN 38515/zabbix_agentd tcp6 0 0 :::10051 :::* LISTEN 38508/zabbix_server tcp6 0 0 :::80 :::* LISTEN 38364/httpd ========================================= 10050:被监听端 10051:服务端server
10、操作
用户名:admin
密码:zabbix
11、zabbix页面优化
更改背景板的颜色
12、解决中文乱码问题
[root@server ~]# cd /var/www/html/zabbix/fonts/ [root@server fonts]# ls DejaVuSans.ttf
上传字体:
[root@server fonts]# ls
DejaVuSans.ttf MSYH.TTC
[root@server fonts]# mv DejaVuSans.ttf DejaVuSans.ttf.bak
[root@server fonts]# ls
DejaVuSans.ttf.bak MSYH.TTC
新字体必须得改名,系统只能识别DejaVuSans.ttf
[root@server fonts]# mv MSYH.TTC DejaVuSans.ttf
[root@server fonts]# ls
DejaVuSans.ttf DejaVuSans.ttf.bak
刷新查看,字就出现了
13、zabbix监控server主机
添加自身为被监控机
主机名称一定要与配置文件中的信息相同
添加群组Linux servers
ZBX绿灯亮了,说明监控上了
可以选图形
三、监控windows主机windows10
1、在C盘根目录下创建文件夹,添加文件
2、修改配置文件zabbix_agentd.win.conf
用写字板打开,修改
Server=192.168.200.112
ServerActive=192.168.200.112
3、Windows中启动命令提示符(需要以管理员的身份启动)
Zabbix中添加windows主机实现监控
四、zabbix监控agent端(192.168.200.113)
1、源码安装zabbix
安装软件包
[root@agent ~]# yum -y install libxml2-devel libcurl-devel pcre-devel ntpdate
同步清华大学时间
[root@agent ~]# ntpdate s1a.time.edu.cn
解压,编译,安装
[root@agent ~]# tar -xf zabbix-3.4.11.tar.gz -C /usr/src/ [root@agent ~]# cd /usr/src/zabbix-3.4.11/ [root@agent zabbix-3.4.11]# ./configure --prefix=/usr/local/zabbix --enable-agent --with-net-snmp --with-libcurl --with-libxml2 && make -j2 && make install
复制启动脚本
[root@agent zabbix-3.4.11]# cp misc/init.d/tru64/zabbix_agentd /etc/init.d/
编辑配置文件
[root@agent zabbix-3.4.11]# vim /etc/init.d/zabbix_agentd 24 DAEMON=/usr/local/zabbix/sbin/zabbix_agentd //更改安装路径
给配置文件添加执行权限
[root@agent ~]# chmod +x /etc/init.d/zabbix_agentd
创建程序用户
[root@agent ~]# useradd -M -s /sbin/nologin zabbix
授权安装目录
[root@agent ~]# chown -R zabbix:zabbix /usr/local/zabbix/
[root@agent ~]# mkdir logs
[root@agent ~]# chown -R zabbix:zabbix logs/
修改agent配置文件
[root@agent ~]# cp /usr/local/zabbix/etc/zabbix_agentd.conf{,.bak} [root@agent ~]# vim /usr/local/zabbix/etc/zabbix_agentd.conf //修改agent配置文件 PidFile=/tmp/zabbix_agentd.pid Server=192.168.200.112 ServerActive=192.168.200.112 Hostname=agent.zabbix.com LogFile=/usr/local/zabbix/logs/zabbix_agentd.log Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/*.conf UnsafeUserParameters=1 UserParameter=mysql.version,mysql -V UserParameter=mysql.status[*],/usr/local/zabbix/etc/chk_mysql.sh $1 UserParameter=mysql.ping,mysqladmin -uroot -p123123 -P3306 -h192.168.200.112 ping | grep -c alive
启动
[root@localhost init.d]# ln -s /etc/init.d/* /sbin/ [root@localhost ~]# service zabbix_agentd start Zabbix agent started. [root@localhost init.d]# netstat -antp | grep 10050 tcp 0 0 0.0.0.0:10050 0.0.0.0:* LISTEN 10944/zabbix_agentd
2、zabbix添加linux主机