易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 4313|回复: 0
收起左侧

linux 架设nagios+cacti+nconf完整配置,生产环境中的配置

[复制链接]
发表于 2016-11-12 12:11:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
下面是配置全过程8 F4 Z$ R: [, t& K
; ^0 Y. [  R( D& J4 b! b
+ \) [! i- q" E$ i8 _
1.先安装各个nagios+cacti的依赖包
* _# F8 [7 I+ v: S8 b. t3 E+ C  h$ i/ s
0 Z' [* @: {: t" w9 w  ~更新源rpm -ivh http://download.fedora.redhat.co ... ease-6-5.noarch.rpm, H/ k! [! _2 n
yum update
; X! t2 ?! }. O/ }& ~' j# D" e* s/ o- H; a8 i$ E3 }
yum -y install httpd php php-gd freetype php-mysql php-snmp php-devel mysql mysql-server perl-DBD-MySQL php-pdo net-snmp net-snmp-libs net-snmp-utils net-snmp-devel ruby ruby-devel gcc glibc glibc-common gd gd-devel ntp
8 X  z0 |' X: P1 S! }
+ ?  a  m! @) I9 s+ cyum -y install httpd gcc gcc-c++ glibc glibc-common gd* gd-devel php php-mysql mysql mysql-server mysql-devel openssl-devel    (nagios安装需要的依赖包)8 i7 A9 e% e" }
. t( s( H. t/ K" ?
yum install httpd php php-mysql php-snmp mysql perl-dbd-mysql php-pdo net-snmp-libs net-snmp-utils perl-rrdtool rrdtool-devel rrdtool      *         (cacti需要)/ w+ l! X, P3 ]

% R, Q! D) [/ c再安装其他必要包
1 |  M' W7 }8 z9 K8 |5 Pyum -y install php-pdo lm_sensors php-snmp net-snmp-utils net-snmp-libs perl-net-naemon perl-pirpc perl-dbi perl-dbd-mysql libcgi glib
: a( R/ r2 P& S/ R# B5 s4 s0 }# x# H; `
yum install php-mcrypt libmcrypt mhash (phpmyadmin需要)1 U5 T1 W8 M- k* S
; {1 ~8 T5 @  y5 G' ~+ s
  d5 B  _7 W$ X
安装webmin& @! I2 u$ R7 w/ H! ~, a% H: l3 ]
wget http://prdownloads.sourceforge.n ... -1.580-1.noarch.rpm
" j" X# c7 Q" x9 |8 h  _% _rpm -ivh  /home/sotf/webmin/webmin-1.580-1.noarch.rpm
" o% X% t' I. p1 P) q  tiptables -I INPUT -p tcp --dport 10000 -j ACCEPT4 a" ]: ]; M% Z( h
6 H  a& A$ Q9 \4 x
安装nagios
) ]; D- e" S% t& }useradd nagios. ~2 l9 z1 k* n3 z5 |
usermod -a –G nagios apache4 h$ N+ b2 q+ W2 N( X
wget http://prdownloads.sourceforge.n ... nagios-3.3.1.tar.gz
: J1 C% A% H8 A# Jcd nagios
" X- Q: x2 e' k( H6 S% ltar zxvf nagios8 [$ I* Z% s; r7 r; @8 T
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-command-group=nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include --enable-event-broker --enable-embedded-perl% t% @5 K# B- P( Y6 u" [
make all$ B: Z+ X8 E" a1 G/ P" C
make install
* [+ T! i& `% |0 H2 U; v" ?make install-init) l( U8 l9 ~6 N/ Z& h1 d- M
make install-commandmode$ e5 n# g5 V: w2 ?0 Z: @
make install-config6 V9 x5 D6 @; _: X5 l0 v
make install-webconf, w( S1 z! Z! |- c2 N# ~6 {0 d( r
make install-exfoliation
) H' |" I+ h$ |make install-classicui
6 n* h2 x4 Z! D% n5 b& H, ?* R0 Lservice httpd restart
/ F' D3 h# ?' T, `htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
6 K- @0 Y3 F" F6 |) Q安装nagios-plugin* W* n) y: Q. O6 }
wget http://prdownloads.sourceforge.n ... ugins-1.4.15.tar.gz4 g3 d  a" Y: H) K
tar zxvf nagios-plugins
) t- ^: R4 x3 ]./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-mysql --with-gnutls --enable-extra-opts --enable-perl-modules --enable-libtap --with-openssl
+ M" j6 N. J4 |! n; q
$ J! ?7 q% J2 ]" {/ B2 ?make
; y2 \/ }, e. ?, u" kmake install
4 `; `' R2 e# _chkconfig –add nagios
& c9 Z6 d5 F7 m$ g2 g1 v7 lchkconfig nagios on
) ]( w+ v( a7 T( ~  [/ _8 i8 xvim /etc/profile
* T* M2 q/ i, T" z; r* f/ {% sexport PATH=$PATH:/usr/local/nagios/bin' ^9 y# y6 K9 s( p' @. s
service nagios start$ f% L8 d8 \9 H" H4 l5 L
6 S/ t: q4 I. B# \9 F
setenforce 0; e  z9 k: k% v; e9 P, E6 ~

6 @; i0 p/ @3 Q! U8 K+ ]6 }4 y$ v安装addon
  Y# [& X5 M& n- Xhttp://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz5 d: z! D, I- x# F/ U% j
: H- g5 H0 ]: n& b" }9 Y
tar zxvf nrpe0 i) F& d# A2 ~$ o) R; B
./configure --enable-ssl --with-ssl-lib=/lib/
, i' Q; i3 o) d' j8 U& d) Tmake
1 g" E3 y2 k  ]8 P+ q5 Smake install
" K$ G! `, I* ?. S& c1 g% y, R$ r
1 W. C1 Y1 @6 {! A( M* [# {& h9 ]chown -R nagios.nagios /usr/local/nagios/libexec/: ~/ d$ k$ ~0 ^6 ]+ z" h

: O4 O; g. I/ P1 a8 N4 i& \ 检查配置文件是否正确 :/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg service nagios start
9 ^) S# v& d1 i3 M. g& a" A8 H; D注意:如果你开启了 selinux 需要配置如下二步:1 W% p$ n# ?; `. x; {2 {* c
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
6 q' S. \. `& s! T4 f: c# L& Y' Y2 P2 Ochcon -R -t httpd_sys_content_t /usr/local/nagios/share/ / H, G- B! q$ k3 E
9 p2 X# E5 J( ]$ O( o; g' O
安装CACTI  }2 S  E* U) t* T- i, G
rrdtool9 [! R% c" s5 ~& _) e$ S+ g
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm0 d& }  Z6 S2 k' P* M
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm# c9 R' K4 Q0 H7 o
wget http://packages.express.org/rrdt ... -1.el5.wrl.i386.rpm
$ }5 |" ]6 I8 G+ ?7 \5 o9 lwget http://flexbox.sourceforge.net/c ... .4.4-1.el5.i386.rpm( ~" W) M! [9 g( l$ t; A# \$ [
' Q' U9 |8 z5 c8 [, {# o
yum localinstall -y --nogpgcheck rrdtool-*
6 m; @% A# H1 s& d. [
6 s) W3 U  e, p7 H配置snmp
; g/ E3 a/ j4 o( I! Kvim /etc/snmp/snmpd.conf: \- E" t0 B& v  u$ q2 \, M
spacer.gif
( v0 C/ V  p5 D) x; s5 X5 O! nservice snmpd start- `' A$ ?' \" ?5 B0 D7 Q( U
chkconfig snmp on
: l4 b5 r# p/ Y( m/ n9 {, \! w3 N0 K' X( v/ |" x1 Y9 w

1 ~4 a. B/ I8 O  u下载cacti5 p- J2 e$ \3 R" i/ s6 c
wget http://www.cacti.net/downloads/p ... 8.7h-PA-v3.0.tar.gz
( u3 V0 v* f3 Gwget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz
; H+ W: G; x8 W1 d& z7 Z5 F& G( ~tar zxvf cacti-0.8.7h.tar.gz4 E% t; d: |) l0 Z% \+ I/ Z, j
mv cacti-0.8.7h /var/www/html/cacti
# \+ j9 n' A% H+ F# z* k6 c& K' Y% k: m$ B+ f* E
创建cacti数据库
6 G, [9 ~- ^, p* \service mysqld start
: _, V' A7 @5 \" p7 gmysql% L+ K" C- w0 a, p8 D# W8 G6 f
create database cacti;3 x! l, Y1 z  y$ g; N
grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti';4 v3 e- T% }4 C; V* h
flush privileges;. X8 T7 @( _! u3 }
quit
8 D; D8 U# V- Z6 y  U9 K/ w! J4 Q  d; L( n
cd /var/www/html/cacti/
! U5 n& {7 U% V" Imysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql
+ m% |: |% S3 S) d9 M' [* p+ ?  h. I; uvim /var/www/html/cacti/include/config.php3 J4 `& s) \- @" m
spacer.gif# _  o7 B' Z4 g
vim /var/www/html/cacti/include/global.php7 Z2 w. r: L. ^% M0 q2 E4 G6 f: r; E
spacer.gif
! L8 U1 _2 I4 m
' a6 }  _& H+ L: o) @( U2 kuseradd -r -M cacti
1 t3 K% n9 [- f8 F& Y7 F- x& ]chown -R cacti /var/www/html/cacti/rra/
- j2 B% B& C" M3 q8 A* f# z  fchown -R cacti /var/www/html/cacti/log/% X/ }) c8 ?. M- ^9 R4 L

9 K8 t. v! M2 w4 qsu cacti+ j' {$ q; ], ^, e+ A, y0 r
crontab –e
: V5 H' P! ?9 r+ `& ?0 D*/5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1
! l/ o/ B5 C. B# X8 x! Ephp /var/www/html/cacti/poller.php; A2 {" F2 c8 U3 z: ^
exit
+ f% A2 l3 ?( c. l% E  ]1 D: |$ r8 c7 G
进入网页配置
% t( G% M! K% E% ^3 y4 v$ r* R$ E5 \8 g! E/ Z- t; q! U( o+ b
整合nagios与cacti
; K0 y. I6 o3 Z8 ?( R安装ndoutils
. B) w2 m" E9 S8 D9 E下载ndoutils' l* M0 Z2 A5 ?% D' d; m1 B
tar xvf ndoutils-1-5.tar
' }2 o& y3 @3 F( h0 i% F7 Ccd ndoutils-1-5
& }$ d' J$ Y$ z, K: m& X- P5 ^./configure --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql) M- ~0 z& `6 F2 N
make* @' r: x4 o9 S
cd src7 |' ~& C, S# z5 l. {& j% h
cp ndomod-3x.o ndo2db-3x file2sock log2ndo /usr/local/nagios/bin/
* Z# \% ~7 ?. T* Ecd ../db
& ^& ~. Q1 N# c" S# d0 ?: {./installdb -u cacti -p cacti -h localhost -d cacti
2 q" k* `8 l9 F7 L% w$ R$ B) j. P+ ucd ../config
) o7 E) H) p+ t, I0 X' q: J  S1 Gcp ndo2db.cfg-sample ndo2db.cfg2 B4 k# l' j5 h% W
cp ndomod.cfg-sample ndomod.cfg
: k8 i9 {9 V* h' Z; g0 Qcp ndo2db.cfg ndomod.cfg /usr/local/nagios/etc/4 K) z, }- B. e' G2 J
chmod 644 /usr/local/nagios/etc/ndo*
4 ?0 O/ D' [- @& ]chown nagios.nagios /usr/local/nagios/etc/*+ s" J/ k3 ^" I! V$ S
chown nagios.nagios /usr/local/nagios/bin/*/ o  c* c* v, l# f: T, F4 ^' v

- }) }% z& F0 R; p# H! |修改nagios.cfg配置0 f7 X8 f# O5 }* e! R
spacer.gif
' \6 y( E5 c3 i+ o, ibroker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
' z' [9 N$ O+ i4 \, y& z# V  n: `6 F) Y1 C6 |
修改ndo2db.cfg6 i' y, n4 v) M3 P1 K3 M1 _3 A
spacer.gif/ O/ q7 Q" K4 R$ ^! `% z

" |0 {6 B* e8 Z) C1 b修改ndomod.cfg1 }* x, x- P3 g2 B/ a- Y5 T# N
25 output_type=tcpsocket
7 l/ x/ a8 O0 N  v3 J) L39 output=127.0.0.1
+ [% G8 H* E' |4 h8 ~* E& j添加ndo2db服务启动% {' T+ V' t$ @2 O/ k" G
cd /home/soft/nagios/addon/ndoutils-1-5
1 n4 o; e" O7 |) Fcp daemon-init /etc/init.d/ndo2db
+ A8 A  M- D$ R' ^$ `vim /etc/init.d/ndo2db
2 ]! ~6 Z/ p  `& d3 X) nspacer.gif
& `- f! Z; W, D3 V2 h8 c$ _+ {chmod +x /etc/init.d/ndo2db, Z8 ^7 _/ C  F3 {
service ndo2db start
- r  h, p: M/ wchkconfig ndo2db on
2 Z4 ?3 J, Z# \/ Y$ X2 Wservice nagios restart
/ q( _5 A5 B; H& x+ w9 K: F$ K! t: I" D# |( {. P" V& n- j
安装ncp
( A: l. _( @+ I6 B3 b5 w安装cacti-plugin
& S; n$ f4 z3 R5 h& ^! A0 {tar zxvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz; G& K, I' P! A
cp -R cacti-plugin-arch/* /var/www/html/cacti/
& J5 O6 K4 Y$ }: z# K1 h0 tmysql -ucacti -pcacti cacti<pa.sqlpatch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff
& F& l  ?7 K8 P! bvim include/config.php
4 G0 _7 [8 F3 w! S$url_path = "/cacti/";0 ?2 n, p2 y9 r
7 c0 q' B+ D* G; ?  R! {
下载npc( u) W: a# |! }2 i+ D( l
tar xvf npc
, J5 x5 a2 J- ~4 O9 V( G8 F" X* |mv npc /var/www/html/cacti/plugins/; h7 H# r  r7 E- q
vim /var/www/html/cacti/include/config.php/ {# s  Y, A2 o; p, \  X7 m
$plugins[] = 'npc';
0 I. L! ?  u, S. A0 \* \- q: l8 p
2 q" X: R9 |' E1 U5 J8 B' f1 Lnpc需要安装json* D7 M( [, i" N+ m8 ^  M; S
tar xzvf json-1.2.1.tgz
5 K' L' a" `' n7 m$ Q6 ]1 a' w9 P/ a1 K6 Ycd json-1.2.1
. r; F4 q; U" p4 ?& Hphpize
: B% H: w( t( H0 S, T! N% B./configure
! v- Y" V  U# ?8 J' amake- _2 C9 F% D7 [) n0 S: q  R4 ?5 p
make install# M; o  s% G8 c0 q+ i+ O; c
php -i | grep php.ini7 g, ~3 L5 d$ Y! T0 X
vim /etc/php.ini2 k# c$ h3 ?$ F+ r) d0 [
spacer.gif4 Y+ H( i( _5 m- A. M- a- `
3 B, r/ K* L0 a; S4 S
vim /etc/httpd/conf/httpd.conf7 u/ q3 ~& |( |
spacer.gif
8 F' I6 Z( l. }  N0 S3 Z( w
. T& y' l; h# Nusermod -G cacti apache
$ M. @1 \$ l* [& P9 Q& ]service httpd restart
8 @+ D* ~' T5 D% Y/ lphp -m
9 ?5 T  O( [/ s
) [: X) I, g; }9 x: v8 W2 k: L5 v* R, ~2 G
vim /var/www/html/nagios/etc/ndo2db.cfg0 z- |- s! X, r1 v; n
111 db_prefix=npc_# T" _! c. k- {/ V* E
& E0 h, v7 D* Y$ \$ r$ S; U/ G) r
mysql -u cacti -p cacti+ C8 b$ f2 @2 P
use cacti;% d* |! s2 g- P, F) g& M9 ?3 a
alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output;
4 z, S$ n, v  `# \alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output;, n* L* I# A9 @' t$ K) G
alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output;
5 M9 B* g' Y) N  d6 F2 p' b9 valter table npc_notifications add long_output TEXT NOT NULL default '' after output;
$ L/ K4 F2 H; G. E0 malter table npc_servicechecks add long_output TEXT NOT NULL default '' after output;3 {! g9 @, X- P" u" Q0 `
alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output;; U& u' e! [8 i. O
alter table npc_statehistory add long_output TEXT NOT NULL default '' after output;
% F# i: f  A% ralter table npc_systemcommands add long_output TEXT NOT NULL default '' after output;
5 E3 P/ z6 [6 t' Z. ]- R, Q4 }quit
* p1 Q1 D4 p' {1 v; p) @3 P) _- v7 m- a- X, v' ~7 h
- w8 I; u# ]( Y" K
安装nconf
+ ~- X) g5 q7 z3 Q& Wmysql, E. P! _! ]! C# ~$ Z2 w
create database nconf;/ q% W/ M/ {7 k! i; K  ?5 \+ e
grant all privileges on nconf.* to nconf@localhost identified by 'nconf';7 x/ P9 ]* T& `! z
flush privileges;
- V5 c* r- e& T; Dquit% p. u/ p& [* t5 q2 H1 G$ Y4 a; |

6 G9 l4 n( n: N# O# C
0 M" v* ?4 Z2 ^+ b- c7 u$ Htar xvf nconf-1.2.6-0.tgz -C /var/www/html/6 X# T' Z" F; d! D" T
cd /var/www/html/nconf/
* Z' k- ^; d/ [) Dchown -R apache.apache config/ temp/ static_cfg/ output/
  V# u  ~, M' x  l" R. w$ Z9 \  c+ ~% b9 G% k; F
进入web页面配置好3 ^. E: [1 M- }  [' u- l" b
rm -rf INSTALL INSTALL.php UPDATE UPDATE.php
/ O1 T$ u& o5 l7 _ln -s /usr/local/nagios/bin/nagios bin/nagios/ a0 z+ |8 B/ m( n# ^
chown -R apache.apache bin
  A3 e# T8 T1 y& ^4 Ichmod +x /usr/local/nagios/bin/nagios
0 Q! a# q- F1 l* qchmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh. R0 C2 ?. i' e5 e3 X3 y- H
vim /var/www/html/nconf/ADD-ONE/deploy_local.sh6 l3 [  M0 U$ F9 Y5 v, U' d

4 p0 W9 l$ y+ Z* [/ F$ t5 G6 Bspacer.gif6 [+ q2 D- s* D' t! C. M$ V" H6 H

$ R4 H+ K. a! Z: w打开selinux需要添加如下# V8 m2 ~+ i* j
chcon -t httpd_sys_script_exec_t /var/www/html/nconf/bin/nagios
, X2 `* P1 v( Q# }- t$ |# C; h
3 d( M1 Z! Y0 y! m* Y+ @vim /usr/local/nagios/etc/nagios.cfg
9 Q9 d5 d- s3 Vspacer.gif
' q# A) M% k4 I( b" z/ n. y+ B# \( A. A: P% B
安装cacti-spin  E; L, U# c- N0 N: x" D
tar xvf cacti-spine
! \$ ~7 N; V9 U6 m./configure
4 V7 |3 L- W3 _make8 u: f- e' J: n& s
make install3 h3 f% R9 p) |: x; k: u  j7 {
到页面设置路径. w% j- E+ K: g# k2 p& n& E) \
/ |% [9 Q% X* s$ F3 ?' c2 H9 R
. r7 Y; l: M2 ~
加入运行sh* g5 v* C. Q+ M% w0 T5 H
*/1 * * * *  /var/www/html/nconf/ADD-ONS/deploy_local.sh
; O9 _5 @2 v$ e/ Q1 S0 R0 p, i" x% {
' S: u6 |. o# h% `5 _6 o3 Y必定要看/usr/local/nagios/etc下的文件权限问题6 r* r% l+ q3 Q5 n9 G$ s
最后要chown –R nagios.nagios etc! c8 ~- e; }& Q+ K5 @! W$ w  v
1 J  ~" q7 V' X+ v- K! O+ t  [
最后将crontab全部改为1分钟
% w4 Y1 A: {: ^1 p
0 v+ D+ _( ~$ j9 H# N, T
0 y& c( _. K4 I上面是安装server端已经完成,下面配置client
% ^6 B% L' J  M% k: L请search:"添加被监控server的详细配置"
. [4 ]5 |2 i& B7 E9 ~- I3 V: Q添加完后某些服务需要监控才能够修改。look it this notes
. t- g. U. r$ Y5 `1 ~" pnagios 修改用户密码 验证配置 开启
' G- X& c' @$ G" O1 d6 H#验证naigios配置的正确性7 i7 E! ]* I- o2 _3 s
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg/ _2 |, x) Q# g8 C) ?, l6 B
#验证通过以后 可以执行下面命令作为守护进程
/ m/ E& z1 Q0 s7 S6 q. X6 ?/usr/local/nagios -d /usr/local/nagios/etc/nagios.cfg, p7 S+ j' R0 ]/ J7 Y! c6 a
#更改web用户名和密码# T3 S; i1 J( u+ n* A2 w  q
1.ee /usr/local/nagios/etc/htpasswd.users
  \5 E: w. b5 D6 {+ w2.编辑/usr/local/nagios/etc/cig.cfg   |grep 'authorized'* e! t( c7 p8 B4 ?$ z
文件,将开始建立的用户名test添加到里面,允许该账户通过web登陆(如果有多个登陆账号,在后面用,号隔开)。; m' o7 u/ G# j4 b& Z/ F
</pa.sql

! y7 r: p" P2 ~: F( i! l4 M4 ^+ F- T6 t1 h
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 点击这里给我发消息

GMT+8, 2026-4-8 11:50 , Processed in 0.089850 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表