安裝zabbix1

通過LNMP平臺安裝zabbix
zabbix 重要組件說明:
1) zabbix server:負責接收 agent 發送的報告信息的核心組件,所有配置、統計數據及操作數據都由它組織進行;
2) database storage:專用於存儲所有配置信息,以及由 zabbix 收集的數據;
3) web interface: zabbix 的 GUI 接口;
4) proxy:可選組件,常用於監控節點很多的分佈式環境中,代理 server 收集部分數據轉發到 server,可以減輕 server 的壓力;
5) agent:部署在被監控的主機上,負責收集主機本地數據如 cpu、內存、數據庫等數據發往 server 端或 proxy 端;
Zabbix 部署前的 LNMP 環境的搭建過程:
安裝編譯工具及庫文件
[root@localhost ~]# yum -y install make apr autoconf automake curl-devel gcc gcc-c++ openssl openssl-devel gd kernel keyutils patch perl kernel-headers compat mpfr cpp glibc libgomp libstdc++-devel keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel zlib-devel libXpm freetype libjpeg libpng libtool libxml2 libxml2-devel patch libcurl-devel bzip2-devel freetype-devel
安裝MySQL數據庫(我用的是二進制安裝包)
先用yum安裝依賴包
[root@localhost ~]# yum -y install cmake ncurses bison
腳本安裝:[root@localhost ~]# vi installmy5.sh
#!/bin/bash
tar zxf mysql-5.7.20-linux-glibc2.12-x86_64.tar.gz
mv mysql-5.7.20-linux-glibc2.12-x86_64 /usr/local/mysql
rpm -e mariadb-libs --nodeps
groupadd mysql
useradd -g mysql -s /bin/false -M mysql
mkdir /usr/local/mysql/data
chown -R mysql:mysql /usr/local/mysql/
chmod 755 /usr/local/mysql/data/
echo "export PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
echo "[client]" >> /etc/my.cnf
sed -i '1a socket=/tmp/mysql.sock \
[mysqld] \
user=mysql \
basedir=/usr/local/mysql \
datadir=/usr/local/mysql/data \
pid-file=/usr/local/mysql/data/mysql.pid \
socket=/tmp/mysql.sock \
log-error=/usr/local/mysql/data/mysql.err ' /etc/my.cnf
/usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
export defaultmysqlpwd=grep 'A temporary password' /usr/local/mysql/data/mysql.err | awk -F"root@localhost: " '{ print $2}'
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
service mysqld start
systemctl stop firewalld.service
systemctl disable firewalld.service
/usr/local/mysql/bin/mysql -uroot -p${defaultmysqlpwd} -e "alter user root@'localhost' identified by '123'" --connect-expired-password
[root@localhost ~]#chmod +x installmy5.sh
[root@localhost ~]#./installmy5.sh
[root@localhost ~]#ln -s /usr/local/mysql/bin/ /usr/local/bin/
[root@localhost ~]# mysql -uroot -p123
如果沒關防火牆需要添加端口
[root@localhost ~]#firewall-cmd --permanent --add-port=3306/tcp
[root@localhost ~]#firewall-cmd --reload
查看端口號
netstat -anpt | grep mysqld
安裝nginx
先下載zlib、pcre包,只需解壓即可。
[root@localhost ~]# tar zxf zlib-1.2.8.tar.gz
[root@localhost ~]# tar zxf pcre-8.39.tar.gz
創建用戶和組
[root@localhost ~]#groupadd www
[root@localhost ~]#useradd -s /sbin/nologin -g www www
下載nginx包:http://www.nginx.org
解壓包並進行編譯:
[root@localhost ~]# tar zxf nginx-1.10.2.tar.gz
[root@localhost ~ ]# cd nginx-1.10.2/
[root@localhost nginx-1.10.2]# ./configure --prefix=/usr/local/nginx1.10 --with-http_dav_module --with-http_stub_status_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module --with-pcre=/root/pcre-8.39 --with-zlib=/root/zlib-1.2.8 --with-http_ssl_module --with-http_gzip_static_module --user=www --group=www
[root@localhost nginx-1.10.2]# make && make install
[root@localhost ~]# ln -s /usr/local/nginx1.10/sbin/
/usr/local/sbin/
[root@localhost ~]# nginx
[root@localhost ~]# netstat -anpt | grep nginx //查看端口
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 18620/nginx: master
[root@localhost ~]# firewall-cmd --permanent --add-port=80/tcp
[root@localhost ~]# firewall-cmd --reload
安裝php
先安裝依賴包libmcrypt
[root@localhost ~]# tar zxf libmcrypt-2.5.7.tar.gz
[root@localhost ~]# cd libmcrypt-2.5.7/
[root@localhost libmcrypt-2.5.7]# ./configure && make && make install
[root@localhost libmcrypt-2.5.7]# ln -s /usr/local/mysql/lib/libmysqlclient.so.20.3.7 /usr/local/mysql/lib/libmysqlclient_r.so
[root@localhost ~]# tar zxf php-5.6.27.tar.gz
[root@localhost ~]#cd php-5.6.27/
[root@localhost php-5.6.27]#./configure --prefix=/usr/local/php5.6 --with-config-file-path=/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-gd --with-iconv --with-libxml-dir=/usr --with-mhash --with-mcrypt --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-zlib --with-freetype-dir --with-png-dir --with-jpeg-dir --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl
[root@localhost php-5.6.27]# make && make install
[root@localhost php-5.6.27]# cp php.ini-production /etc/php.ini
[root@localhost php-5.6.27]# vi /etc/php.ini
修改後的內容如下:
date.timezone = PRC //設置時區
expose_php = Off //禁止顯示 php 版本的信息
short_open_tag = On //支持 php 短標籤
post_max_size = 30M //上傳文件大小
max_execution_time = 300 //php 腳本最大執行時間
max_input_time = 300 //以秒爲單位對通過 POST、 GET 以及 PUT 方式接收數據時間進行限制
always_populate_raw_post_data = -1
mbstring.func_overload = 0
:wq
添加php服務:
[root@localhost php-5.6.27]#cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
[root@localhost php-5.6.27]# chmod +x /etc/init.d/php-fpm
[root@localhost php-5.6.27]# chkconfig --add php-fpm
[root@localhost php-5.6.27]# chkconfig php-fpm on
提供 php-fpm 配置文件並編輯:
[root@localhost php-5.6.27]# cp /usr/local/php5.6/etc/php-fpm.conf.default /usr/local/php5.6/etc/php-fpm.conf
[root@localhost php-5.6.27]#vi /usr/local/php5.6/etc/php-fpm.conf
修改內容如下:
pid = run/php-fpm.pid
user = www
group = www
listen =127.0.0.1:9000
pm.max_children = 300
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers =80
啓動 php-fpm 服務:
[root@localhost php-5.6.27]# service php-fpm start
[root@localhost php-5.6.27]#netstat -anpt | grep php-fpm
tcp 0 127.0.0.1:9000 0.0.0.0:* LISTEN 10937/php-fpm: mast
配置 nginx 支持 php
[root@localhost php-5.6.27]# vi /usr/local/nginx1.10/conf/nginx.conf
配置如下:
user www www;
worker_processes 4;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
use epoll;
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '

'$status $body_bytes_sent "$http_referer" '

'"$http_user_agent" "$http_x_forwarded_for"';

#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80;
server_name localhost;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root html;
index index.php index.html index.htm;
}
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
#error_page 404 /404.html;

redirect server error pages to the static page /50x.html

#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
location /status {
stub_status on;
}
}
}
:wq
[root@localhost ~]# nginx -t
[root@localhost ~]#nginx -s reload
測試 LNMP 進入 nginx 默認的網頁根目錄,創建.php 的測試頁
[root@localhost ~]# cd /usr/local/nginx1.10/html/
[root@localhost html]# vi qwe.php
<?php
phpinfo()
?>
[root@localhost html]#vi qwe1.php
<?php
$link=mysql_connect('localhost','root','123');
if($link) echo "ok";
mysql_close();
?>
成功就ok。至此, LNMP 部署完畢。
監控系統 Zabbix-3.2.1 的安裝
zabbix 服務器端要提前安裝好 LNMP 環境( mysql, nginx, php5 的安裝目錄均是/usr/local)
創建 Zabbix 運行的用戶 :
[root@localhost ~]# groupadd zabbix
[root@localhost ~]# useradd -g zabbix zabbix
安裝依賴包:
[root@localhost ~]# yum -y install net-snmp net-snmp-devel curl-devel java-1.8.0-openjdk java-1.8.0-openjdk-devel OpenIPMI-devel libssh2-devel
注: OpenIPMI-devel 和 libssh2-devel 軟件包使用 centos 在線 yum 軟件源安裝
安裝 Fping:
[root@localhost ~]# tar zxf fping-3.12.tar.gz
[root@localhost ~]#cd fping-3.12/
[root@localhost fping-3.12]# ./configure && make && make install
[root@localhost fping-3.12]#chown root:zabbix /usr/local/sbin/fping
[root@localhost fping-3.12]# chmod 4710 /usr/local/sbin/fping
安裝 Zabbix Server:
[root@localhost ~]# tar zxf zabbix-3.2.1.tar.gz
[root@localhost ~]# cd zabbix-3.2.1/
[root@localhost zabbix-3.2.1]#./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql=/usr/local/mysql/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi
[root@localhost zabbix-3.2.1]#make && make install
[root@localhost zabbix-3.2.1]#ln -s /usr/local/zabbix/bin/ /usr/local/bin/
[root@localhost zabbix-3.2.1]#ln -s /usr/local/zabbix/sbin/
/usr/local/sbin/
創建 Zabbix 數據庫和 MySQL 用戶 :
[root@localhost ~]#mysql -uroot -p123
mysql> create database zabbix character set utf8;
Query OK, 1 row affected (0.01 sec)
mysql> grant all privileges on zabbix. to zabbix@localhost identified by 'zabbix';
Query OK, 0 rows affected, 1 warning (0.00 sec)
導入 Zabbix 初始數據: 切換到 zabbix 的解壓目錄下
[root@localhost zabbix-3.2.1]#cd database/mysql/
[root@localhost mysql]# pwd
/root/zabbix-3.2.1/database/mysql
[root@localhost mysql]#ls
data.sql images.sql schema.sql
進行 zabbix 初始數據導入
[root@localhost mysql]#mysql -uzabbix -pzabbix -hlocalhost zabbix < schema.sql
[root@localhost mysql]#mysql -uzabbix -pzabbix -hlocalhost zabbix < images.sql
[root@localhost mysql]#mysql -uzabbix -pzabbix -hlocalhost zabbix < data.sql
編輯/usr/local/zabbix/etc/zabbix_server.conf:
先創建logs目錄
[root@localhost ~]# mkdir -p /usr/local/zabbix/logs
[root@localhost ~]# vi /usr/local/zabbix/etc/zabbix_server.conf
修改內容如下:
LogFile=/usr/local/zabbix/logs/zabbix_server.log
PidFile=/usr/local/zabbix/logs/zabbix_server.pid
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
DBPort=3306
FpingLocation=/usr/local/sbin/fping
[root@localhost ~]# chown -R zabbix:zabbix /usr/local/zabbix/
[root@localhost ~]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
報錯:/usr/local/zabbix/sbin/zabbix_server: error while loading shared libraries: libmysqlclient.so.20:cannot open shared object file: No such file or directory
解決方法:
在 ld.so.conf 中加入/usr/local/mysql/lib
[root@localhost zabbix-3.2.1]#vi /etc/ld.so.conf
添加:
/usr/local/mysql/lib
/usr/local/lib
[root@localhost zabbix-3.2.1]#ldconfig
再次執行 zabbix_server 啓動
[root@localhost zabbix-3.2.1]# /usr/local/zabbix/sbin/zabbix_server -c /usr/local/zabbix/etc/zabbix_server.conf
[root@localhost ~]# netstat -anpt|grep zabbix_server
tcp 0 0 0.0.0.0:10051 0.0.0.0:
LISTEN 658/zabbix_server
添加開機啓動腳本
[root@localhost zabbix-3.2.1]#cp misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server
[root@localhost zabbix-3.2.1]#cp misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd
[root@localhost zabbix-3.2.1]#chmod +x /etc/rc.d/init.d/zabbix_server
[root@localhost zabbix-3.2.1]#chmod +x /etc/rc.d/init.d/zabbix_agentd
[root@localhost zabbix-3.2.1]# chkconfig --add zabbix_server
[root@localhost zabbix-3.2.1]#chkconfig --add zabbix_agentd
[root@localhost zabbix-3.2.1]#chkconfig zabbix_agentd on
[root@localhost zabbix-3.2.1]# chkconfig zabbix_server on
修改 zabbix 開機啓動腳本中的 zabbix 安裝目錄
編輯服務端配置文件
[root@localhost zabbix-3.2.1]#vi /etc/rc.d/init.d/zabbix_server
修改內容如下:
BASEDIR=/usr/local/zabbix/ //zabbix 安裝目錄
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid //pid 文件路徑
:wq! //保存退出
編輯客戶端配置文件
[root@localhost zabbix-3.2.1]# vi /etc/rc.d/init.d/zabbix_agentd
修改內容如下:
BASEDIR=/usr/local/zabbix/ //zabbix 安裝目錄
PIDFILE=/usr/local/zabbix/logs/$BINARY_NAME.pid //pid 文件路徑
:wq! //保存退出
[root@localhost zabbix-3.2.1]# systemctl daemon-reload
[root@localhost zabbix-3.2.1]# /etc/init.d/zabbix_server stop
Stopping zabbix_server (via systemctl): [ OK ]
[root@localhost zabbix-3.2.1]# /etc/init.d/zabbix_server start
Starting zabbix_server (via systemctl): [ OK ]
[root@localhost zabbix-3.2.1]# netstat -anpt|grep zabbix_server
tcp 0 0 0.0.0.0:10051 0.0.0.0:* LISTEN 1658/zabbix_server
設置防火牆規則
[root@localhost zabbix-3.2.1]# firewall-cmd --permanent --add-port=10051/tcp
[root@localhost zabbix-3.2.1]#firewall-cmd --reload
配置 zabbix web 頁面
在安裝目錄將 frontends 拷貝到指定的 web root:
[root@localhost zabbix-3.2.1]#cp -r frontends/php/ /usr/local/nginx1.10/html/zabbix
[root@localhost zabbix-3.2.1]# chown -R www:www /usr/local/nginx1.10/html/zabbix/
注: /usr/local/nginx/html 爲 Nginx 默認站點目錄 www 爲 Nginx 運行賬戶
注:PHP 需要至少開啓擴展:
gd,bcmath,ctype,libXML,xmlreader,xmlwriter,session,sockets,mbstring,gettext,mysql
[root@localhost zabbix-3.2.1]#/usr/local/php5.6/bin/php -m
顯示如下:
[PHP Modules]
bcmath
bz2
Core
ctype
curl
date
dom
ereg
fileinfo
filter
ftp
gd
gettext
hash
iconv
json
libxml
mbstring
mcrypt
mhash
mysql
mysqli
openssl
pcntl
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
shmop
SimpleXML
soap
sockets
SPL
sqlite3
standard
sysvsem
tokenizer
xml
xmlreader
xmlrpc
xmlwriter
zip
zlib
訪問 Web 界面 http://192.168.159.22/zabbix,進行相關 web 配置,配置完成後使用默認用戶
admin(密碼:zabbix)登陸即可 (基礎安裝完成)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章