zabbix 服务端,子客户端安装配置日志

针对已经有mysql nginx php 的linux环境 ,zabbix2.4.8对不同版本的mysql会报不同的错,php也一样。
这只是针对本人的环境下的安装部署,mysql是5.6.4rmp安装,php7+。
服务端

#创建数据库
create database zabbix character set utf8;
grant all privileges on zabbix.* to zabbix_user@'127.0.0.1' identified by '123456';
grant all privileges on zabbix.* to zabbix_user@'localhost' identified by '123456';
flush privileges;
#添加用户
useradd -s /sbin/nologin -M zabbix
#本站blog已下载一个
wget --no-check-certificate  https://nchc.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.8/zabbix-2.4.8.tar.gz
tar -zxvf zabbix-2.4.8.tar.gz
cd zabbix-2.4.8
cd database
cd mysql

mysql -h 127.0.0.1 -uzabbix_user -p zabbix< schema.sql
mysql -h 127.0.0.1  -uzabbix_user -p zabbix < images.sql 
mysql -h 127.0.0.1  -uzabbix_user -p zabbix < data.sql

cd ../../

yum -y install net-snmp
yum -y install net-snmp-devel
./configure --prefix=/usr/local/zabbix --with-mysql --with-net-snmp --with-libcurl --enable-server --enable-proxy
#报错 仅仅以于已经重装rpm安装新版mysql 5.6.45的情况
#https://www.isres.com/database/274.html
[root@zabbix-2.4.8]# find / -name libmysqlclient.a
/usr/lib64/mysql/libmysqlclient.a
cp /usr/lib64/mysql/libmysqlclient.a /usr/local/lib
#再编译后即可进行安装
make && make install
#报错 仅仅以于已经重装rpm安装新版mysql 5.6.45 mysql的情况
#undefined reference to `operator new[](unsigned long)'
rpm -ivh MySQL-shared-5.6.45-1.el6.x86_64.rpm


ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ 
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ 
cp /usr/tmp/zabbix-2.4.8/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server
chmod +x /etc/rc.d/init.d/zabbix_server
chkconfig zabbix_server on

sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g'  /etc/rc.d/init.d/zabbix_server

echo "zabbix-trapper 10051/tcp # Zabbix Trapper" >> /etc/services
echo "zabbix-trapper 10051/udp # Zabbix Trapper" >> /etc/services

sed -i 's/DBUser=root/DBUser=zabbix_user/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/DBUser=root/DBUser=zabbix_user/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/# ListenPort=10051/ListenPort=10051/g' /usr/local/zabbix/etc/zabbix_server.conf
sed -i 's/# ListenIP=0.0.0.0/ListenIP=0.0.0.0/g' /usr/local/zabbix/etc/zabbix_server.conf

#修改php.ini 逐条运行
sed -i 's/post_max_size = 8M/post_max_size = 16M/g' /usr/local/php/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /usr/local/php/etc/php.ini
sed -i 's/max_input_time = 60/max_input_time = 300/g' /usr/local/php/etc/php.ini
sed -i 's/\;date.timezone =/date.timezone = "Asia\/Shanghai"/g' /usr/local/php/etc/php.ini

service php-fpm restart

#仅于对使用本站一件安装lnp脚本的情况,web目录在/home/public_html
mkdir -p /home/public_html/zabbix
chown www:www /home/public_html/zabbix
cp -r frontends/php/* /home/public_html/zabbix/

vim /home/public_html/zabbix/include/classes/setup/CFrontendSetup.php
添加 $current = -1;
 
public function checkPhpAlwaysPopulateRawPostData() {
                $current = ini_get('always_populate_raw_post_data');
                $current = -1;
                return array(
                        'name' => _('PHP always_populate_raw_post_data'),
                        'current' => ($current != -1) ? _('on') : _('off'),
                        'required' => _('off'),
                        'result' => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
                        'error' => _('PHP always_populate_raw_post_data must be set to -1.')
                );
        }
        
        
service zabbix_server start

cd /usr/local/nginx/conf/vhost/
cp default.conf zabbix.conf

vim zabbix.conf

server {
        listen  8384;
        server_name localhost;
        access_log  /home/public_html/zabbix/access.log;
        location / {
            root   /home/public_html/zabbix/;
            index  index.php index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/local/nginx/html;
        }
       # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        location ~ \.php$ {
        root   /home/public_html/zabbix/;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
        location ~ /\.ht {
            deny  all;
        }
}

chown -R www:www /home/public_html/zabbix/

service nginx restart

iptables -I INPUT -m state --state NEW -m tcp -p tcp --dport 8384 -j ACCEPT
/etc/rc.d/init.d/iptables save
service iptables restart

http://xxx.10.81.xxx:8384/ 访问通过了

帐号admin 密码zabbix

#登录局部后报了A non well formed numeric value encountered [dashboard.php:140 → 原因php版本高对类型有要求
vim /home/public_html/zabbix/include/func.inc.php 换掉$val *= 1024;
 
 function str2mem($val) {
        $val = trim($val);
        $last = strtolower(substr($val, -1));

        switch ($last) {
                case 'g':
                        #$val *= 1024;
                        $val = intval($val)*1024;
                        /* falls through */
                case 'm':
                        #$val *= 1024;

                        $val = intval($val)*1024;
                        /* falls through */
                case 'k':
                        #$val *= 1024;
                        $val = intval($val)*1024;
        }

        return $val;
}


替换监控图像上系统默认的字体 #默认字体不支持中文,如果不替换,图像上会显示乱码

在Windows系统中的C:WindowsFonts目录中复制出一个中文字体文件,例如msyh.ttf

把字体文件msyh.ttf上传到zabbix站点根目录下fonts文件夹中

例如:/usr/local/nginx/html/zabbix/fonts

备份默认的字体文件:DejaVusSans.ttf-bak

修改msyh.ttf名称为DejaVusSans.ttf

客户端部署在另一台,完成后需要做iptables对服务端的开放

useradd -s /sbin/nologin -M zabbix
wget https://www.isres.com/file/zabbix-2.4.8.tar.gz
tar -zxvf zabbix-2.4.8.tar.gz
cd zabbix-2.4.8
./configure --prefix=/usr/local/zabbix --with-libcurl --enable-agent
make && make install

ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/ 
ln -s /usr/local/zabbix/bin/* /usr/local/bin/ 

cp /usr/tmp/zabbix-2.4.8/misc/init.d/fedora/core/zabbix_agentd  /etc/rc.d/init.d/zabbix_agentd 
chmod +x /etc/rc.d/init.d/zabbix_agentd 
chkconfig zabbix_agentd  on

sed -i 's/BASEDIR=\/usr\/local/BASEDIR=\/usr\/local\/zabbix/g'  /etc/rc.d/init.d/zabbix_agentd 

echo "zabbix-agent 10050/tcp # Zabbix Agent" >> /etc/services
echo "zabbix-agent 10050/tcp # Zabbix Agent" >> /etc/services

sed -i 's/# PidFile=\/tmp\/zabbix_agentd.pid/PidFile=\/tmp\/zabbix_agentd.pid/g' /usr/local/zabbix/etc/zabbix_agentd.conf
sed -i 's/Server=127.0.0.1/Server=192.168.10.55/g' /usr/local/zabbix/etc/zabbix_agentd.conf

service zabbix_agentd restart

centos6

iptables -I INPUT -s 192.168.10.55 -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT
/etc/rc.d/init.d/iptables save
service iptables restart

centos7

firewall-cmd --permanent --add-rich-rule 'rule family=ipv4 source address=192.168.10.55/32 port port=10050 protocol=tcp accept'
systemctl restart firewalld.service

标签: zabbix 监控脚本

非特殊说明,本博所有文章均为博主原创。

最新文章

发表评论