日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zabbix分布式监控环境完全编译安装部署

發布時間:2024/1/17 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zabbix分布式监控环境完全编译安装部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 很多文檔使用的是yum安裝mysql、http、php等工具。這里采用源碼安裝的形式,實現從LNMP-zabbix的全程記錄。

一、LNMP平臺搭建

? 參考:http://www.ttlsa.com/nginx/nginx-install-on-linux/

? ? ? ? http://swht1278.blog.51cto.com/7138082/1623886

? 1.nginx的安裝

? ? 1.1 依賴環境的部署

? ? ? ?yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre-devel pcre-static gd-*

? ? 1.2 建立nginx用戶及用戶組

? ? ? ?groupadd -r nginx && useradd -s /sbin/nologin -g nginx -r nginx

? ? 1.3 下載最新nginx安裝包

? ? ? ?wget -P /usr/local/src/ http://nginx.org/download/nginx-1.9.1.tar.gz

? ? 1.4 編譯安裝nginx

? ? ? ? cd /usr/local/src/ && tar xf nginx-1.9.1.tar.gz

? ? ? ?./configure --prefix=/usr/local/nginx --lock-path=/usr/local/nginx/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/usr/local/nginx/client/ --http-proxy-temp-path=/usr/local/nginx/proxy/ --http-fastcgi-temp-path=/usr/local/nginx/fcgi/ --http-uwsgi-temp-path=/usr/local/nginx/uwsgi --http-scgi-temp-path=/usr/local/nginx/scgi --with-pcre --with-file-aio --with-http_p_w_picpath_filter_module && make && make install

? ? 1.5 nginx啟動腳本

==============================

vim /etc/init.d/nginx ? chmod +x /etc/init.d/nginx ?

#!/bin/bash

#

# Startup script for Nginx - this script starts and stops the nginx daemon

#

# chkconfig: ? - 85 15

# description: ?Nginx is an HTTP(S) server, HTTP(S) reverse proxy and IMAP/POP3 proxy server

# processname: nginx

# config: ? ? ?/usr/local/nginx/conf/nginx.conf

# pidfile: ? ? /usr/local/nginx/logs/nginx.pid?

# Source function library.

. /etc/rc.d/init.d/functions?

# Source networking configuration.

. /etc/sysconfig/network?

# Check that networking is up.

[ "$NETWORKING" = "no" ] && exit 0?

nginx="/usr/local/nginx/sbin/nginx"

prog=$(basename $nginx)

NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"

[ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx?

lockfile=/var/lock/subsys/nginx?

start() {

? ? [ -x $nginx ] || exit 5

? ? [ -f $NGINX_CONF_FILE ] || exit 6

? ? echo -n $"Starting $prog: "

? ? daemon $nginx -c $NGINX_CONF_FILE

? ? retval=$?

? ? echo

? ? [ $retval -eq 0 ] && touch $lockfile

? ? return $retval

}

?

stop() {

? ? echo -n $"Stopping $prog: "

? ? killproc $prog -QUIT

? ? retval=$?

? ? echo

? ? [ $retval -eq 0 ] && rm -f $lockfile

? ? return $retval

}

?

restart() {

? ? configtest || return $?

? ? stop

? ? sleep 1

? ? start

}

?

reload() {

? ? configtest || return $?

? ? echo -n $"Reloading $prog: "

? ? killproc $nginx -HUP

? ? RETVAL=$?

? ? echo

}

?

force_reload() {

? ? restart

}

?

configtest() {

? $nginx -t -c $NGINX_CONF_FILE

}

?

rh_status() {

? ? status $prog

}

?

rh_status_q() {

? ? rh_status >/dev/null 2>&1

}

?

case "$1" in

? ? start)

? ? ? ? rh_status_q && exit 0

? ? ? ? $1

? ? ? ? ;;

? ? stop)

? ? ? ? rh_status_q || exit 0

? ? ? ? $1

? ? ? ? ;;

? ? restart|configtest)

? ? ? ? $1

? ? ? ? ;;

? ? reload)

? ? ? ? rh_status_q || exit 7

? ? ? ? $1

? ? ? ? ;;

? ? force-reload)

? ? ? ? force_reload

? ? ? ? ;;

? ? status)

? ? ? ? rh_status

? ? ? ? ;;

? ? condrestart|try-restart)

? ? ? ? rh_status_q || exit 0

? ? ? ? ? ? ;;

? ? *)

? ? ? ? echo $"Usage: $0 {start|stop|status|restart|condrestart|


try-restart|reload|force-reload|configtest}"

? ? ? ? exit 2

esac

==================================================

? ?1.6 nginx的啟動和關閉

? ? ?service nginx start|reload|restart|stop

? ? ?chkcofnig nginx on

? ? ?或者:

? ? ?啟動 /usr/local/nginx-1.5.1/sbin/nginx

? ? ?關閉 /usr/local/nginx-1.5.1/sbin/nginx -s stop

? ? ?重啟 /usr/local/nginx-1.5.1/sbin/nginx -s reload

? 2.mysql的安裝

? ?參考:二進制源碼包安裝mysql連接 http://www.ttlsa.com/mysql/install-mysql5_6/

? ? ? ? ?自定義編譯源碼包安裝mysql連接:http://swht1278.blog.51cto.com/7138082/1658992

? ?2.1 編譯環境安裝(適用于最小化安裝的Linux系統)

? ? ?yum -y install wget gcc* make openssl openssl-devel openssl-clients ncurses-devel -y && yum groupinstall " Development tools"?

? ?2.2 mysql×××

? ? ?wget -P /usr/local/src/ http://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.20.tar.gz

? ? ?#wget -P /usr/local/src/ http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.25.tar.gz

? ? ?wget -P /usr/local/src/ http://down1.chinaunix.net/distfiles/cmake-2.8.10.2.tar.gz

? ?2.3 源碼安裝cmake編譯環境

? ? ?cd /usr/local/src/ && tar xf cmake-2.8.10.2.tar.gz

? ? ?cd cmake-2.8.10.2 && ./configure --prefix=/usr/local/cmake && make && make install

? ? ?vim /etc/profile

? ? ? #set cmake

? ? ? export PATH==$PATH:/usr/local/cmake/bin

? ? ?source /etc/profile

? ?2.4 源碼安裝mysql-5.6

? ? ?groupadd mysql && useradd -r -g mysql -s /etc/nologin mysql ?#(創建mysql用戶不需要密碼和登錄系統)

? ? ?mkdir -p /home/mysql/data && mkdir /home/mysql/var?

? ? ?cd /usr/local/src/ && tar xf mysql-5.6.20.tar.gz && cd mysql-5.6.20?

? ? ?cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/home/mysql/data -DSYSCONFDIR=/etc -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DMYSQL_UNIX_ADDR=/home/mysql/var/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci && make && make install

? ? ?

? ? ?編譯報錯解決參考:http://blog.163.com/sz2273_pr/blog/static/41264296201361354426670/

? ? ?環境變量配置

? ? ?vim /etc/profile

? ? ?在末行添加export PATH=$PATH:/usr/sbin/:/usr/local/mysql/bin

? ? ?保存退出執行:source /etc/profile?

? ?2.5 初始化數據庫

? ? ?/usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/home/mysql/data --user=mysql --default-storage-engine=MyISAM ?

? ?2.6 修改配置文件my.cnf

============================================

vim /etc/my.cnf


[client]

default-character-set=utf8

#auto-rehash

socket = /home/mysql/var/mysql.sock

[mysqld]

# GENERAL #

user = mysql

slave-skip-errors=1022,1032,1062

basedir = /usr/local/mysql

default-storage-engine = MyISAM

socket = /home/mysql/var/mysql.sock

pid-file = /home/mysql/var/mysql.pid

port = 3306


# MyISAM #

key_buffer_size = 1344M

myisam_recover = FORCE,BACKUP


# SAFETY #

max_allowed_packet = 16M

max_connect_errors = 1000000

skip_name_resolve


# DATA STORAGE #

datadir = /home/mysql/data

long_query_time = 1


# BINARY LOGGING #

log-bin = /home/mysql/data/mysql-bin.log

expire-logs-days = 14

sync-binlog = 1

server-id = 1

max_binlog_size = 500M


# REPLICATION #

relay-log = /home/mysql/data/relay-bin.log

slave-net-timeout = 60


# CACHES AND LIMITS #

tmp_table_size = 32M

max_heap_table_size = 32M

max_connections = 500

thread_cache_size = 50

open_files_limit = 65535

table_definition_cache = 4096

table_open_cache = 4096


# INNODB #

innodb_data_file_path = ibdata1:128M;ibdata2:10M:autoextend

innodb_flush_method = O_DIRECT

innodb_log_files_in_group = 2

innodb_lock_wait_timeout = 50

innodb_log_file_size = 256M

innodb_flush_log_at_trx_commit = 1

innodb_file_per_table = 1

innodb_thread_concurrency = 8

innodb_buffer_pool_size = 8G


# LOGGING #

log-error = /home/mysql/data/mysql-error.log

log-queries-not-using-indexes = 1

slow-query-log = 1

long_query_time = 1

slow-query-log-file = /home/mysql/data/mysql-slow.log


# FOR SLAVE #

#binlog-format = ROW

#log-slave-updates = true

#gtid-mode = on

#enforce-gtid-consistency = true

#master-info-repository = TABLE

#relay-log-info-repository = TABLE

#sync-master-info = 1

#slave-parallel-workers = 2

#binlog-checksum = CRC32

#master-verify-checksum = 1

#slave-sql-verify-checksum = 1

#binlog-rows-query-log_events = 1

#report-port = 3306

#report-host = 10.1.1.10 ??

============================================

? ?2.7 mysql的啟動與關閉

? ? cp support-files/mysql.server /etc/init.d/mysql && chmod +x /etc/init.d/mysql

? ? service mysql start|stop|relaod|restart

? ? chkconfig mysql on

? 3. PHP編譯安裝

? ?參考:nginx連接PHP 5.5 http://www.ttlsa.com/nginx/nginx-php-5_5/

? ?3.1 編譯環境安裝

? ? yum install gcc make gd-devel libjpeg-devel libpng-devel libxml2-devel bzip2-devel libcurl-devel -y

? ?3.2 源碼包下載

? ? wget -P /usr/local/src/ http://cn2.php.net/distributions/php-5.6.9.tar.gz

? ?3.3 編譯安裝php5.6.9

? ? cd /usr/local/src/ && tar xf ?php-5.6.9.tar.gz && cd php-5.6.9

? ? ./configure ?--prefix=/usr/local/php-5.6.9 --with-config-file-path=/usr/local/php-5.6.9/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath && make && make install

? ?3.4 配置PHP

? ? cp php.ini-production /usr/local/php-5.6.9/etc/php.ini

? ? cp /usr/local/php-5.6.9/etc/php-fpm.conf.default /usr/local/php-5.6.9/etc/php-fpm.conf

================================= ? ?

? ? 打開php.ini配置文件,修改如下參數為如下值,否則zabbix安裝不了。

max_execution_time = 300

memory_limit = 128M

post_max_size = 16M

upload_max_filesize = 2M

max_input_time = 300 #這個參數修改是在文檔的第383行,相關信息在本文檔下面有介紹

date.timezone PRC

==============================

? ?3.5 啟動PHP-fpm

? ? /usr/local/php-5.6.9/sbin/php-fpm

? ?3.6 nginx配置

===============================

location /

{

? ? try_files $uri $uri/ /index.php?$args;

}

?

location ~ .*\.(php)?$

{

? ? expires -1s;

? ? try_files $uri =404;

? ? fastcgi_split_path_info ^(.+\.php)(/.+)$;

? ? include fastcgi_params;

? ? fastcgi_param PATH_INFO $fastcgi_path_info;

? ? fastcgi_index index.php;

? ? fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

? ? #fastcgi_pass 127.0.0.1:9000;

? ? fastcgi_pass unix:/var/run/phpfpm.sock;

}

=================================


二、編譯安裝zabbix

? 2.1 依賴環境安裝

? ?yum install net-snmp-devel libxml2-devel libcurl-devel -y

? 2.2 下載zabbix源碼包

? ?wget -p /usr/local/src/ http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stable/2.4.5/zabbix-2.4.5.tar.gz

? 2.3 編譯安裝zabbix

? ?cd /usr/local/src/ && tar xf zabbix-2.4.5.tar.gz && cd zabbix-2.4.5

? ?./configure --prefix=/usr/local/zabbix-2.4.5/ --enable-server --enable-agent --with-mysql --with-net-snmp --with-libcurl --with-libxml2 && make && make install

? 2.4 創建用戶

? ?groupadd -r zabbix && useradd -s /sbin/nologin -g zabbix -r zabbix

? 2.5 初始化數據庫

? ? mysql -uroot -pPasswd

? ? mysql>create database zabbix default charset utf8;

? ? mysql>quit;

? ? mysql -uroot -pPasswd zabbix < database/mysql/schema.sql #初始化proxy庫

? ? #初始化server庫

? ? mysql -uroot -p zabbix < database/mysql/p_w_picpaths.sql

? ? mysql -uroot -p zabbix < database/mysql/data.sql

? ?mysql設置密碼

? ? $mysql

? ? mysql>use mysql;

? ? mysql>update ?user set password=password('yzkj2015') where user='root';

? ? mysql> flush privileges;

? 2.6 配置zabbix

? ?mkdir /etc/zabbix && cp conf/zabbix_server.conf /etc/zabbix/ && vim /etc/zabbix/zabbix_server.conf

==============

DBName=zabbix

DBUser=root

DBPassword=yzkj2015

DBPort=3306

==============

? ?2.7 zabbix_server啟動

? ? /usr/local/zabbix-2.4.5/sbin/zabbix_server

? ?2.8 zabbix客戶端配置

? ? 創建用戶

? ? ?groupadd -r zabbix && useradd -s /sbin/nologin -g zabbix -r zabbix

? ? 編譯安裝

? ? cd /usr/local/src/ && tar xf zabbix-2.4.5.tar.gz && cd zabbix-2.4.5

? ? ./configure --prefix=/usr/local/zabbix-2.4.5/ --enable-agent && make && make install

? ? 修改配置文件

? ? vim /usr/local/zabbix-2.2.2/etc/zabbix_agentd.conf

? ? ?Server=127.0.0.1 ?#被動接受某個IP地址的檢查

? ? ?ServerActive=127.0.0.1 #主動將數據發送給該IP地址

? ? ?Hostname=Zabbix server

? ? 客戶端啟動

? ? ?/usr/local/zabbix-2.4.5/sbin/zabbix_agentd

? ?2.9 瀏覽器安裝

? ? ?網站文件拷貝

? ? ?mkdir /home/zabbix && cp -rp /usr/local/src/zabbix-2.4.5/frontends/php/* /home/zabbix && cp /home/zabbix/conf/zabbix.conf.php.example /home/zabbix/conf/zabbix.conf.php

? ? ?

? ? ? 報錯PHP option max_input_time 60 300 Fail

? ? ? 解決:原因是php.ini文件里面有兩個參數,第一個max_input_time默認是-1,第二個則是默認為60,需要修改成300

? ? ? 121 ; max_input_time

? ? ? 122 ; ? Default Value: -1 (Unlimited)

? ? ? 123 ; ? Development Value: 60 (60 seconds)

? ? ? 124 ; ? Production Value: 60 (60 seconds)

? ? ? 125 max_input_time = 300

? ? ? 383 max_input_time = 300

? ? ? 報錯:Error connecting to database: No such file or directory

? ? ? 原因是:Database host寫成了localhost

? ? ? 解決:Database type ?MySQL

? ? ? ? ? ? Database host ?127.0.0.1

? ? ? ? ? ? Database port ?3306

? ? ? ? ? ? Database name ?zabbix

? ? ? ? ? ? User ? ? ? ? ? root #可以是zabbix,這樣安全,但要記得密碼要對應

? ? ? ? ? ? Password ? ? ? *****

? ? ? 備注:這個地方的配置可以在/home/zabbix/conf/zabbix.conf.php中進行修改。路徑根據自己的實際情況進行設置查找

? ? 2.10 使用默認賬號登錄首頁

? ? ? admin

? ? ? zabbix

? ? ??

?至此,zabbix的源碼安裝實驗完成,接下來的將是對zabbix的配置進行學習,請參照另外文檔。

參考文章:http://www.ttlsa.com/zabbix/install-zabbix-on-linux-5-ttlsa/

聲明:該文檔僅供學習使用,對于參考文章作者表示衷心感謝,我這篇文檔僅僅是對整個搭建過程進行細致的參數調節,以及符合我們自身的生產情況。各位看官只關注學習就好~



? ??


轉載于:https://blog.51cto.com/nanfeibobo/1659984

總結

以上是生活随笔為你收集整理的zabbix分布式监控环境完全编译安装部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。