源码包安装zabbix5.0

1、zabbix监控

  • 监控服务器
    -- 监控服务器可以通过snmp和agent来采集数据
    -- 数据可以写入MySQL、Oracle数据库中
    -- zabbix的页面采用php
    -- 服务器使用lnmp实现web端的管理
  • 被监控主机
    -- 被监控主机需要安装zabbix-agentd端
    -- 常见的网络设备都是支持snmp协议

2、搭建监控服务器

2.1、搭建管理zabbix页面端的lnmp
  • 配置前准备
systemctl stop firewalld
systemctl disable firewalld
setenforce 0    #永久配置修改/etc/selinux/conf文件
  • 下载并安装nginx
#安装依赖
yum install -y gcc pcre-devel zlib-devel openssl-devel 
#下载nginx源码包
wget http://nginx.org/download/nginx-1.20.2.tar.gz
#解压nginx并编译安装
tar -xvf nginx-1.20.2.tar.gz
cd nginx-1.20.2.tar.gz
./configure --with-http_ssl_module        #安装目录默认/usr/local/nginx;安装时会自动加nginx用户和nginx用户组,不用额外指定
make && make install
#启动nginx
/usr/local/nginx/sbin/nginx
#修改nginx配置文件
vim /usr/local/nginx/conf/nginx.conf
... ...
location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
... ...
#重启nginx
/usr/local/nginx/sbin/nginx -s reload
  • 安装MySQL数据库
#下载MySQL的rpm包
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar
#查看系统是否有安装mariadb。如果有需要卸载,否则会冲突
yum remove -y $(rpm -qa | grep mariadb)
#解压并安装
mkdir /opt/mysql
tar -xvf  mysql-5.7.38-1.el7.x86_64.rpm-bundle.tar -C /opt/mysql
cd /opt/mysql
yum install -y mysql*.rpm
#启动mysql服务
systemctl start mysqld
#获取初始密码
grep "password" /var/log/mysqld.log
#登录数据库修改数据库密码
mysql -uroot -p'初始密码'
#修改密码策略
mysql> set global validate_password_policy=0;    #策略等级
mysql> set global validate_password_length=6;    #密码长度
mysql> alter user root@"localhost" identified by "新密码"; 
#重启mysql来生效MySQL的配置
systemctl restart mysqld
  • 安装php
yum install -y php php-fpm
systemctl start php-fpm
]# netstat -ntlp | grep 9000
tcp        0      0 127.0.0.1:9000          0.0.0.0:*               LISTEN      22146/php-fpm: mast
  • 测试lnmp平台
vim /usr/local/nginx/html/test.php
<?php
$i=100;
echo $i;
?>
#访问
]# curl http://192.168.2.90/test.php
100
2.2、安装zabbix
#解压并安装
tar -xvf zabbix-5.0.9.tar.gz
cd zabbix-5.0.9
./configure --enable-server --enable-proxy --enable-agent --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl      #安装一些zabbix-server所需的功能
make install
#查看zabbix的配置文件目录
]# ls /usr/local/etc/
zabbix_agentd.conf  zabbix_agentd.conf.d  zabbix_proxy.conf  zabbix_proxy.conf.d  zabbix_server.conf  zabbix_server.conf.d
]# ls /usr/local/bin/
zabbix_get  zabbix_js  zabbix_sender
#查看zabbix管理服务命令目录
]# ls /usr/local/sbin/
zabbix_agentd  zabbix_proxy  zabbix_server
  • 创建存储数据的库、表、以及zabbix连接数据库服务的用户
]# mysql -uroot -p'数据库密码'
#创建一个能够支持中文的zabbix数据库
mysql> create database zabbix set character utf8 collate utf8_bin;
#授权一个zabbix用户,本地连接对zabbix库有所有权限
mysql> grant all on zabbix.* to zabbix@'localhost' identified by '密码'; 
mysql > flush privileges;
mysql > set name utf8;    #避免数据出现乱码
  • 修改zabbix-server的配置文件
cat /usr/local/etc/zabbix_server.conf | grep -v '^#'
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=zabbix
DBPassword='前面数据库授权zabbix用户时所设置的密码'
Timeout=4
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1
  • 将源码包中的数据导入数据库中
]# cd /root/zabbix-5.0.9/database/mysql/
]# ls
data.sql  double.sql  images.sql  Makefile  Makefile.am  Makefile.in  schema.sql
mysql -uzabbix -p'密码' zabbix < schema.sql
mysql -uzabbix -p'密码'  zabbix < images.sql
mysql -uzabbix -p'密码'  zabbix < double.sql
mysql -uzabbix -p'密码'  zabbix < data.sql
  • 初始化准备
#将源码包中的所有关于php页面的文件拷贝到nginx中
cp -a /root/zabbix-5.0.9/ui/* /usr/local/nginx/html
#并将所有文件赋上所有权限
chmod -R 777 /usr/local/nginx/html
#配置nginx,满足php脚本的运行环境
vim /usr/local/nginx/conf/nginx.conf
http {

        fastcgi_buffers 8 16k;    #缓存php生成的页面内容,8个16k
        fastcgi_buffer_size 32k;    #缓存php生产的头部信息
        fastcgi_connect_timeout 300;    #连接php的超时时间
        fastcgi_send_timeout 300;    #发送请求的超时时间
        fastcgi_read_timeout 300;    #读取请求的超时时间
... ...
#重新加载nginx配置文件
/usr/local/nginx/sbin/nginx -t
/usr/local/nginx/sbin/nginx -s reload

#配置php.ini配置文件
vim /etc/php.ini
date.timezone = Asia/Shanghai    #设置时区
max_execution_time = 300    #最大执行时间
post_max_size = 32M    #post数据最大容量
max_input_time = 300    #服务器接受数据的时间限制
systemctl restart php-fpm
  • 访问zabbix页面,并做配置
    -- http://IP/setup.php,环境检测
    如果访问页面时出现“Minimum required PHP version is 7.2.0.”,需要对php进行升级
    image.png

    -- 连接数据库配置
    image.png

    -- 监控服务的IP地址
    image.png

    -- 配置摘要
    image.png
  • 安装完成,会在/usr/local/nginx/html/conf/目录下有一个zabbix.conf.php的文件。前提是对/usr/local/nginx/html/conf/有权限才能保存该配置(前面已经对该文件加做了权限赋予)
]# cat /usr/local/nginx/html/conf/zabbix.conf.php
  • 登录页面
    -- 账号:Admin
    -- 密码:zabbix
    -- 登录后可修改密码和语言


    image.png

    -- 此时显示zabbix_server未启动


    image.png
#启动zabbix_server服务
#不创建用户无法启动服务
[root@zabbix_server ~]# zabbix_server
zabbix_server [1223]: user zabbix does not exist
zabbix_server [1223]: cannot run as root!
[root@zabbix_server ~]# useradd zabbix
]# netstat -ntlp | grep 10051
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      7089/zabbix_server

-- 停止服务
killall -9 zabbix_server

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容