SUSE LINUX Enterprise & openSUSE Community
มกราคม 16, 2019, 06:41:09 PM *
ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน
ส่งอีเมล์ยืนยันการใช้งาน?

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น
ข่าว:
 
   หน้าแรก   ช่วยเหลือ ค้นหา เข้าสู่ระบบ สมัครสมาชิก  

[Why we need your support] SUSE and openSUSE are trademarks of Attachmate Group, Inc. - WE ARE NOT IN ANY WAY ASSOCIATED WITH SUSE AND ATTACHMATE GROUP. SUSEThailand.com is a SUSE Linux user and community found in Thailand but not limited to other country suse linux user to join in. Currently active contents (How to's, Scripts, Tips, Tricks, Tutorials, Linux Command Line, and Troubleshooting) this suse linux how to's and expert support are SUSE Linux.
หน้า: [1]   ลงล่าง
  พิมพ์  
ผู้เขียน
หัวข้อ: How to Insatall LogZilla 3.2 on openSUSE 11.4 (GNOME & Text mode)  (อ่าน 4062 ครั้ง)
0 สมาชิก และ 2 บุคคลทั่วไป กำลังดูหัวข้อนี้
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« เมื่อ: กันยายน 24, 2011, 11:07:46 AM »


Insatall LogZilla 3.2 on openSUSE 11.4 (GNOME & Text mode)

1. ติดตั้งแพคเกจต่างๆ ที่จำเป็น

- ติดตั้ง LAMP Server (จาก YaST)

ชื่อ packages ต่างๆ ที่ถูกติดตั้ง
โค๊ด:
apache2
apache2-doc
apache2-example-pages
apache2-mod_perl
apache2-mod_php5
apache2-prefork
apache2-utils
libapr-util1
libapr1
libmm14
libmysqlclient16
libmysqlclient_r16
mysql-community-server
mysql-community-server-client
patterns-openSUSE-lamp_server
perl-HTML-Parser
perl-HTML-Tagset
perl-IO-Socket-INET6
perl-IO-Socket-SSL
perl-Net-LibIDN
perl-Net-SSLeay
perl-Socket6
perl-Tie-IxHash
perl-URI
perl-libwww-perl
php5
php5-ctype
php5-dom
php5-hash
php5-iconv
php5-json
php5-mysql
php5-pdo
php5-sqlite
php5-tokenizer
php5-xmlreader
php5-xmlwriter
sqlite2

ชื่อแพคเกจที่ต้องติดตั้งเพิ่มเติม
โค๊ด:
gcc
gcc-c++
flex
bison
autoconf
automake
bzip2
php5-mbstring
php5-pear
php5-odbc
php5-xmlrpc
php5-mcrypt
php5-gd
php5-mysql
perl-DBD-mysql
pcre-devel
php5-gettext
libpng14-devel
libtool-2
libtiff-devel-3
libpng-devel-1
libjpeg62-devel
ncurses-devel
libstdc++-devel
perl-MIME-Lite
make
php5-ldap
php5-openssl

- ติดตั้งแพคเกจ

โค๊ด:
zypper in gcc gcc-c++ flex bison autoconf automake php5-mbstring php5-pear php5-odbc php5-xmlrpc php5-mcrypt php5-gd perl-DBD-mysql pcre-devel php5-gettext libpng14-devel libtool libtiff-devel libpng14-devel libjpeg62-devel ncurses-devel libstdc++-devel perl-MIME-Lite make php5-ldap php5-openssl


- ติดตั้ง syslog-ng (version 3.2)

โค๊ด:
zypper in syslog-ng


- ติดตั้ง perl โมดูล ด้วยคำสั่ง zypper

โค๊ด:
zypper in perl-Date-Calc perl-File-Tail


- ติดตั้ง perl โมดูล ด้วย cpan (เนื่่องจากไม่มีแพคเกจบน repository)

โค๊ด:
cpan -i String::CRC32
cpan -i Text::LevenshteinXS


EROR:
Writing Makefile for String::CRC32
Can't exec "make": No such file or directory at /usr/lib/perl5/5.12.3/CPAN/Distribution.pm line 2026.
  SOENKE/String-CRC32-1.4.tar.gz
  make -- NOT OK
'YAML' not installed, will not store persistent state
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Failed during this command:
 SOENKE/String-CRC32-1.4.tar.gz               : make NO


Solution:
โค๊ด:
zypper in perl-YAML-Syck perl-YAML make


- ติดตั้ง Zend Optimizez

ดาวน์โหลดไฟล์
โค๊ด:
cd /tmp/


โค๊ด:
wget http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz


โค๊ด:
tar zxvf ZendOptimizer-3.3.9-linux-glibc23-i386.tar.gz


NOTE: สำหรับ 64bits
http://downloads.zend.com/optimizer/3.3.9/ZendOptimizer-3.3.9-linux-glibc23-x86_64.tar.gz

- ตรวจสอบ PHP เวอร์ชัน
โค๊ด:
rpm -q php5
php5-5.3.5-5.14.1.i586


- คัดลอกไฟล์ (ใช้ไฟล์ 5.2 แทน)
โค๊ด:
cd ZendOptimizer-3.3.9-linux-glibc23-i386/data/5_2_x_comp/
cp ZendOptimizer.so /etc/php5/apache2/

โค๊ด:
mkdir /usr/local/lib/Zend
cp ZendOptimizer.so /usr/local/lib/Zend/


NOTE: สำหรับ 64bits

โค๊ด:
mkdir /usr/local/lib64/Zend
cp ZendOptimizer.so /usr/local/lib64/Zend/


- ติดตั้ง ionCube

http://www.ioncube.com/loaders.php

- ดาวน์โหลดไฟล์

NOTE: สำหรับ 64bits

http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz

โค๊ด:
cd /tmp/
wget http://downloads2.ioncube.com/loader_downloads/ioncube_loaders_lin_x86.tar.gz


โค๊ด:
tar zxvf ioncube_loaders_lin_x86.tar.gz
cd ioncube/


- สร้างไดร์เรกทอรีสำหรับเก็บไฟล์
โค๊ด:
mkdir /usr/local/lib/ioncube


NOTE: สำหรับ 64bits

โค๊ด:
mkdir /usr/local/lib64/ioncube


- ตรวจสอบ PHP เวอร์ชัน ก่อนคัดลอกไฟล์

โค๊ด:
rpm -q php5
php5-5.3.5-5.14.1.i586


สำหรับ  PHP เวอร์ชัน 5.3
โค๊ด:
cp ioncube_loader_lin_5.3.so /usr/local/lib/ioncube/


- แก้ไขไฟล์ php.ini

โค๊ด:
vi /etc/php5/apache2/php.ini


เพิ่ม 2 บรรทัดด้านล่างนี้ (บรรทัดล่างสุด)

โค๊ด:
                                           
;LogZilla
[PHP]
        zend_loader.enable = 1
        zend_extension=/usr/local/lib/ioncube/ioncube_loader_lin_5.3.so
        zend_extension=/usr/local/lib/Zend/ZendOptimizer.so
        zend_optimizer.optimization_level=15


- รีสตาร์ท apache2

โค๊ด:
chkconfig apache2 on
rcapache2 restart


- ตรวจสอบ apache log

โค๊ด:
tail -f /var/log/apache2/error_log

The Zend Engine API version 220090626 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer.

[Thu Sep 15 11:08:01 2011] [notice] caught SIGTERM, shutting down
Zend Optimizer requires Zend Engine API version 220060519.
The Zend Engine API version 220090626 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend Optimizer.

[Thu Sep 15 11:08:02 2011] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Thu Sep 15 11:08:02 2011] [notice] Apache/2.2.17 (Linux/SUSE) mod_ssl/2.2.17 OpenSSL/1.0.0c PHP/5.3.5 configured -- resuming normal operations


- ตรวจสอบด้วยฟังก์ชัน phpinfo

โค๊ด:
vi /srv/www/htdocs/phpinfo.php

<?php
phpinfo
();
?>



- ตั้งค่า Firewall


กำหนดอินเตอร์เฟต (eht0) เป็นโหมด Internal Zone

- ทดสอบรันผ่าน web browser

โค๊ด:
http://IP address/phpinfo.php

ถ้าไม่มีปัญหาอะไรตรง Additional Modules จะโชว์โมดูล ionCube Loader  และ Zend Engine จะแสดงข้อความ “This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies
    with the ionCube PHP Loader v4.0.10, Copyright (c) 2002-2011, by ionCube Ltd.”

« แก้ไขครั้งสุดท้าย: ตุลาคม 26, 2011, 05:02:26 PM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #1 เมื่อ: กันยายน 24, 2011, 11:21:29 AM »


2. ตั้งค่า MySQL

- ตรวจสอบเวอร์ชัน MySQL

โค๊ด:
rpm -q mysql-community-server
mysql-community-server-5.1.53-4.7.1.x86_64


- กำหนดรหัสผ่าน root MySQL Admin

โค๊ด:
mysqladmin -uroot password 'log123456'

rcmysql restart


- กำหนดค่า event_schedulter

โค๊ด:
mysql -u root -p

mysql> SELECT @@event_scheduler;
+-------------------+
| @@event_scheduler |
+-------------------+
| OFF               |
+-------------------+
1 row in set (0.00 sec)

mysql> SET GLOBAL event_scheduler = 1;
Query OK, 0 rows affected (0.00 sec)

mysql> SELECT @@event_scheduler;
+-------------------+
| @@event_scheduler |
+-------------------+
| ON                |
+-------------------+
1 row in set (0.00 sec)

mysql> exit;



3. คอนฟิก Syslog-ng

โค๊ด:
vi /etc/syslog-ng/syslog-ng


un-commen บรรทัด:

udp(ip("0.0.0.0") port(514));


4. ตั้งค่า PHP

โค๊ด:
vi /etc/php5/apache2/php.ini

max_execution_time = 300
memory_limit = 128M


- รีสตาร์ท apache2

โค๊ด:
rcapache2 restart



5. ติดตั้ง LogZilla เวอร์ชัน 3.1 และ 3.2

- ต้องขอ License ก่อน http://www.logzilla.pro
- ดาวน์โหลดไฟล์ License จากเมลที่ได้รับ (เปลื่ยนชื่อไฟล์เป็น license.txt) แล้วคัดลอกไฟล์ License ไปยัง /srv/www/htdocs/lz/
- จากนั้นรัน install.pl เพื่อติดตั้ง

โค๊ด:
cd /srv/www/htdocs/

wget http://download50.mediafire.com/r69z20skfktg/2d2ax1h1q5v5dht/logzilla_3.1.122.tgz

tar zxvf logzilla_3.1.122.tgz

mv logzilla lz

chown wwwrun:www lz/ -R



- การติดตั้งผ่าน SVN (LogZilla v.3.2)

โค๊ด:
zyyper in subversion
svn co https://svn2.assembla.com/svn/logzilla/ lz


- ตรวจสอบ License expire

โค๊ด:
cat /lz/license.txt


NOTE: สำหรับ LogZilla เวอร์ชัน 3.0.85 ให้ลบ facebox หรือ comment ไว้

โค๊ด:
vi lz/html/includes/css.php
..
<!-- BEGIN Facebox -->
<!-- <link type="text/css" rel="stylesheet" href="includes/js/jquery/plugins/facebox/facebox.css" /> -->
<!-- END Facebox -->
...


- เริ่มต้นติดตั้ง LogZilla จาก perl สคริปต์

โค๊ด:
cp /etc/syslog-ng/syslog-ng.conf /etc/syslog-ng/syslog-ng-pre_logzilla.conf
cd lz/scripts/


- รัน perl สคริปต์เพื่อเริ่มติดตั้ง

โค๊ด:
./install.pl

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

LogZilla Installation

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



Enter the MySQL root username [root]:

Note: Mysql passwords with a ' in them may not work
Enter the password for root [mysql]: ******
Database to install to [syslog]: lz
Database table to install to [logs]:
Enter the name of the MySQL server [127.0.0.1]: localhost
Enter the port of the MySQL server [3306]:
Enter the name to create as the owner of the logs database [syslogadmin]:
Note that a password containing ' may not work.
Enter the password for the syslogadmin user [syslogadmin]: sysloadmin
Enter the name to create as the WEBSITE owner [admin]:
Enter the password for admin [admin]: ********
Enter your email address [cdukes@cdukes.com]: it.support@yourdomain.com
Enter a name for your website [The home of LogZilla]: Centralized Log Server
Enter the base url for your site (include trailing slash) [/logs/]:
Where should log files be stored? [/var/log/logzilla]:
How long should I keep old logs? (in days) [30]: 90



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

Path Updates

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



Getting ready to replace paths in all files with "/srv/www/htdocs/lz"
Ok to continue? [y]: y
Updating file paths
Modifying ../scripts/contrib/genreport/genreport.pl
Modifying ../scripts/contrib/daily_text_report/mail_daily_counts.pl
Modifying ../scripts/contrib/system_configs/logzilla.crontab
Modifying ../scripts/contrib/system_configs/syslog-ng.conf
Modifying ../scripts/contrib/system_configs/logzilla.apache
Modifying ../scripts/db_insert.pl
Modifying ../sphinx/indexer.sh
Modifying ../sphinx/sphinx.conf
Updating log paths
Modifying ../scripts/contrib/system_configs/logzilla.crontab
Modifying ../scripts/contrib/system_configs/logzilla.logrotate



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

Database Installation

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



All data will be installed into the lz database
Ok to continue? [y]: y



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

Config.php generation

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



Generating /srv/www/htdocs/lz/html/config/config.php
Ok to continue? [y]: y



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

System files

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



Adding LogZilla logrotate.d file to /etc/logrotate.d
Ok to continue? [y]: y
Where is your syslog-ng.conf file located? [/etc/syslog-ng/syslog-ng.conf]: y
Unable to locate your syslog-ng.conf file
You will need to manually merge contrib/system_configs/syslog-ng.conf with yours.

LogZilla installation complete...
Note: you may need to enable the MySQL Event Scheduler in your /etc/my.cnf file.
Please visit http://forum.logzilla.info/index.php/topic,71.0.html for more information.

Also, please visit http://nms.gdd.net/index.php/Install_Guide_for_LogZilla_v3.0#UDP_Buffers to learn how to increase your UDP buffer size (otherwise you may drop messages).

Please run /etc/init.d/syslog-ng restart


NOTE: สำหรับเวอร์ชัน 3.2 เมื่อรันคำสั่ง ./install.pl ขั้นตอนจะแตกต่างกัน


6. คอนฟิก MySQL ออปชั่น (Enable MySQL Event Scheduler)

โค๊ด:
vi /etc/my.cnf

เพิ่มออปชั่นด้านล่างนี้

[mysqld]
event_scheduler = ON


สำหรับ LogZilla 3.2 (Performance Tuning LogZilla v3.2)

NOTE: หากต้องทดสอบ MySQL Performance สามารถทดสอบได้ด้วย perl สคริปต์

ดาวน์โหลด https://github.com/rackerhacker/MySQLTuner-perl/blob/master/mysqltuner.pl

บรรทัดล่างสุดเพิ่ม (ขึ้นอยู่กับ spce. ของเซิร์ฟเวอร์)
โค๊ด:
# BEGIN logzilla settings
event-scheduler=1
skip-name-resolve
query_cache_size = 16M
table_cache = 512
tmp_table_size = 128M
max_heap_table_size = 128M
myisam_sort_buffer_size = 512M
sort_buffer_size = 8M
join_buffer_size = 256K
key_buffer = 512M
bulk_insert_buffer_size = 512M
memlock
myisam_use_mmap
myisam-block-size = 16384
# END logzilla settings


Reference - http://nms.gdd.net/index.php/Performance_Tuning_LogZilla_v3.2


7. ทดสอบ MySQL (Logzilla user can login)

โค๊ด:
mysql -u syslogadmin -p lz


8. ตรวจสอบไดร์เรกทอรี
โค๊ด:
ls -al /var/log/logzilla
ls -al /srv/www/htdocs/


9. สร้าง Alias name สำหรับ Web server

โค๊ด:
vi /etc/apache2/conf.d/logzilla.conf
# LogZilla
   Alias /logs "/srv/www/htdocs/lz/html"
   <Directory />
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>


NOTE: ในกรณีที่ติดตั้งผ่าน SVN ต้องจำกัดการเข้าถึงไดร์เรกทอรี .svn และ ioncube ดังนี้

โค๊ด:
# LogZilla
   Alias /logs "/srv/www/htdocs/lz/html"
   <Directory />
       Options Indexes MultiViews FollowSymLinks
       AllowOverride All
       Order allow,deny
       Allow from all
   </Directory>

# Restrict access .svn and ioncube* directories
<DirectoryMatch .*\.svn/.*>
    Deny From All
</DirectoryMatch>
<DirectoryMatch .*ioncube.*>
    Deny From All
</DirectoryMatch>


- รีโหลด apache2

โค๊ด:
rcapache2 reload


- ทดสอบ log ผ่าน web browser

http://IP address/logs


10. ติดตั้ง Sphinx

ตรวจสอบก่อนว่าได้ติดตั้งแพคเกจ libmysqlclient-devel นี้หรือยัง ถ้ายังให้ติดตั้งก่อน

- ติดตั้งแพคเกจ

โค๊ด:
zypper in libmysqlclient-devel


NOTE: สำหรับ LogZilla 3.2 ขั้นตอนข้างบนไม่จำเป็นต้องทำเพราะถูกคอมไพล์จากสคริปต์แล้ว

โค๊ด:
cd /srv/www/htdocs/lz/sphinx/src/
tar zxvf sphinx-0.9.9.tar.gz
cd sphinx-0.9.9


โค๊ด:
./configure --prefix `pwd`/../..


ถ้าไม่มี error แสดงว่าผ่าน

โค๊ด:
make && make install


ถ้าผ่านจะขึ้นประมาณนี้ เป็นอันว่าติดตั้งสำเร็จ

make[3]: Entering directory `/srv/www/htdocs/lz/sphinx/src/sphinx-0.9.9'
mkdir -p /srv/www/htdocs/lz/sphinx/src/sphinx-0.9.9/../../var/data && mkdir -p /srv/www/htdocs/lz/sphinx/src/sphinx-0.9.9/../../var/log
make[3]: Leaving directory `/srv/www/htdocs/lz/sphinx/src/sphinx-0.9.9'
make[2]: Leaving directory `/srv/www/htdocs/lz/sphinx/src/sphinx-0.9.9'
make[1]: Leaving directory `/srv/www/htdocs/lz/sphinx/src/sphinx-0.9.9'


- สร้าง Index ไฟล์

โค๊ด:
cd /srv/www/htdocs/lz/sphinx


โค๊ด:
./indexer.sh full

Starting Sphinx Indexer: 2011-09-14 12:13:21
No previous index files found
Creating NEW indexes, this may take a while, so be patient...
Running command: /srv/www/htdocs/lz/sphinx/bin/indexer --config /srv/www/htdocs/lz/sphinx/sphinx.conf idx_logs idx_delta_logs
Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff

using config file '/srv/www/htdocs/lz/sphinx/sphinx.conf'...
indexing index 'idx_logs'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.021 sec, 0 bytes/sec, 0.00 docs/sec
indexing index 'idx_delta_logs'...
collected 0 docs, 0.0 MB
total 0 docs, 0 bytes
total 0.013 sec, 0 bytes/sec, 0.00 docs/sec
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 8 writes, 0.000 sec, 0.1 kb/call avg, 0.0 msec/call avg
Finished Sphinx Indexer: 2011-09-14 12:13:21


- รัน Spnine search (manual)

โค๊ด:
/srv/www/htdocs/lz/sphinx/bin/searchd -c /srv/www/htdocs/lz/sphinx/sphinx.conf

Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff

using config file '/srv/www/htdocs/lz/sphinx/sphinx.conf'...
listening on 127.0.0.1:9312
listening on all interfaces, port=3312
rotating index 'idx_logs': success
rotating index 'idx_delta_logs': success


- สตาร์ท Sphinx Search Daemon

โค๊ด:
bin/searchd

Sphinx 0.9.9-release (r2117)
Copyright (c) 2001-2009, Andrew Aksyonoff

using config file './sphinx.conf'...
FATAL: failed to lock pid file '/var/run/sphinx_searchd.pid': Resource temporarily unavailable (searchd already running?) เนื่องจากเราได้รัน searchd จากคำสั่งก่อนหน้านี้ไปแล้ว


- ตรวจสอบ process รันคำส่ง

โค๊ด:
ps x | grep searchd

15058 pts/0    S      0:00 /srv/www/htdocs/lz/sphinx/bin/searchd -c /srv/www/htdocs/lz/sphinx/sphinx.conf
15159 pts/0    S+     0:00 grep searchd


- สร้าง Index auto run (crontab)

NOTE: พาทสคริปต์ cat /srv/www/htdocs/lz/scripts/contrib/system_configs/logzilla.crontab

โค๊ด:
crontab -e
#Shpinx
30 0 1 * * /srv/www/htdocs/lz/sphinx/indexer.sh full >> /var/log/logzilla/sphinx_indexer.log 2>&1
*/5 * * * * /srv/www/htdocs/lz/sphinx/indexer.sh delta >> /var/log/logzilla/sphinx_indexer.log 2>&1
0 0 * * * /srv/www/htdocs/lz/sphinx/indexer.sh merge >> /var/log/logzilla/sphinx_indexer.log 2>&1

แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
Sontaya
Administrator
Expert : ผู้เชี่ยวชาญ
*****

Karma: +1/-0
ออฟไลน์ ออฟไลน์

กระทู้: 1931


Administrator


เว็บไซต์
« ตอบ #2 เมื่อ: กันยายน 24, 2011, 11:29:38 AM »


- สร้างไฟล์ Sphinx startup (รันหลังจากบูตเครื่อง)

โค๊ด:
vi /etc/init.d/sphinx


โค๊ด:
#!/bin/sh
# #############################################################################
# Author: Sontaya Potibut <susethailand.com@gmail.com>, Sep 15, 2011
# Website: http://www.susethailand.com
# This program is distributed under the terms of the GNU General Public License
## ############################################################################

# /etc/init.d/sphinx
#  and its symbolic link
# ln -s /etc/init.d/sphinx /usr/sbin/rcsphinx

### BEGIN INIT INFO
# Provides:            sphinx
# Default-Start:       2 3 5
# Default-Stop:        0 1 6
# Description:         Sphinx is an Open Source Search Server and increasing performance of MySQL queries for LogZilla
### END INIT INFO

# Source SuSE config, only if exists with size greater zero
test -s /etc/rc.config && \
    . /etc/rc.config

# Shell functions sourced from /etc/rc.status:
#      rc_check         check and set local and overall rc status
#      rc_status        check and set local and overall rc status
#      rc_status -v     ditto but be verbose in local rc status
#      rc_status -v -r  ditto and clear the local rc status
#      rc_failed        set local and overall rc status to failed
#      rc_failed <num>  set local and overall rc status to <num><num>
#      rc_reset         clear local rc status (overall remains)
#      rc_exit          exit appropriate to overall rc status

export sphinx_HOME=/srv/www/htdocs/lz/sphinx/bin
sphinx_pid="$sphinx_HOME/sphinx.pid"
sphinx="$sphinx_HOME/searchd -c /srv/www/htdocs/lz/sphinx/sphinx.conf"
sphinx_status="$sphinx_HOME/searchd"

test -s /etc/rc.status && \
     . /etc/rc.status

test -x $red || exit 5

# First reset status of this service
rc_reset

# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - insufficient privilege
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signalling is not supported) are
# considered a success.

case "$1" in
    start)
test -s ${sphinx_pid} && {
   killproc -p ${sphinx_pid} ${sphinx}
   echo -n "Re-"
}
echo -n "Starting Sphinx search server services"
startproc -p ${sphinx_pid} ${sphinx}
rc_status -v

;;
    stop)
echo -n "Shutting sphinx Search Server"
ps -ef | awk '/searchd/ && !/awk/ {print $2}' pid= > ${sphinx_pid}
kill `cat $sphinx_pid`
rc_status -v
rm -f ${sphinx_pid}
;;
    try-restart)
$0 status >/dev/null &&  $0 restart
rc_status
;;
    restart)
$0 stop
$0 start
rc_status
;;
    force-reload)
if ps -C cupsd -o user | grep -q '^root$'; then
   echo -n "Reload service sphinx"
   killproc -HUP $sphinx
   rc_status -v
else
   $0 restart
fi
;;
    reload)
if ps -C cupsd -o user | grep -q '^root$'; then
   echo -n "Reload service sphinx"
   killproc -HUP $sphinx
   rc_status -v
else
   echo -n '"reload" not possible in RunAsUser mode - use "restart" instead'
   rc_status -s
fi
;;
    status)
echo -n "Checking for Sphinx Search Server: "
checkproc $sphinx_status
rc_status -v
;;
    probe)
rc_failed 3
;;
    *)
echo "Usage: $0 {start|stop|status}"
exit 1
;;
esac
rc_exit


โค๊ด:
chmod 755 /etc/init.d/sphinx


จากนั้นไปที่ YaST > System > Runlevel
หรือรันคำสั่ง

โค๊ด:
yast runlevel


- สร้างลิงค์

โค๊ด:
ln -s /etc/init.d/sphinx /usr/sbin/rcsphinx


- การใช้งาน

โค๊ด:
rcsphinx start

rcsphinx status

rcsphinx stop


- ตั้งค่า Apparmor (หากติดตั้งแบบ Text mode ต้องติดตั้งแพคเกจ yast2-apparmor ก่อน)

ที่ Apparmor Control Panel ให้ตั้งค่าคอนฟิกโหมด “sbin.syslog-ng” เป็น “complain”
 
- คอนฟิก Logrotate ไฟล์

โค๊ด:
vi /etc/logrotate.d/sphinx


โค๊ด:
/srv/www/htdocs/lz/sphinx/log/*.log {
              weekly
              notifempty
              rotate 3
              compress
              delaycompress
              create 600 root root
              postrotate
              killall -SIGUSR1 searchd
              endscript
}


- ทดสอบ logrotate debug

โค๊ด:
logrotate --debug --force /etc/logrotate.d/sphinx


- ทดสอบ logrotate (manual)

โค๊ด:
logrotate --force -v /etc/logrotate.d/sphinx


11. แก้ไขไฟล์ syslog-ng.conf

NOTE: สำหรับ LogZilla 3.2 ให้ comment เพียงบรรทัด

#options { long_hostnames(off); flush_lines(0); perm(0640); stats_freq(3600); };

เนื่องจากตอนติดตั้งสคริปต์มีการเพิ่มไฟล์คอนฟิกไปไว้บรรทัดล่างสุดของไฟล์เรียบร้อยแล้ว ไม่ต้องเพิ่มอะไร

โค๊ด:
vi /etc/syslog-ng/syslog-ng.conf

โค๊ด:
...
options {
      long_hostnames(off);
      # doesn't actually help on Solaris, log(3) truncates at 1024 chars
      log_msg_size(8192);
      # buffer just a little for performance
      # sync(1); <- Deprecated - use flush_lines() instead
      flush_lines(1);
      # memory is cheap, buffer messages unable to write (like to loghost)
      log_fifo_size(16384);
      # Hosts we don't want syslog from
      #bad_hostname("^(ctld.|cmd|tmd|last)$");
      # The time to wait before a dead connection is reestablished (seconds)
      time_reopen(10);
      #Use DNS so that our good names are used, not hostnames
      use_dns(yes);
      dns_cache(yes);
      #Use the whole DNS name
      use_fqdn(yes);
      keep_hostname(yes);
      chain_hostnames(no);
      #Read permission for everyone
      perm(0644);
      # The default action of syslog-ng 1.6.0 is to log a STATS line
      # to the file every 10 minutes.  That's pretty ugly after a while.
      # Change it to every 12 hours so you get a nice daily update of
      # # how many messages syslog-ng missed (0).
      # stats(43200);
};

source src {
        #
        # include internal syslog-ng messages
        # note: the internal() soure is required!
        #
        internal();

        #
        # the default log socket for local logging:
        #
        unix-dgram("/dev/log");
        #
        # uncomment to process log messages from network:
        #
        #udp(ip("0.0.0.0") port(514));
};

source s_client {
        udp(ip("0.0.0.0") port(514));
        };

##--------------------------------------------------------------------------#
# Filter Squid (Proxy) definitions from LAN
#
filter f_squid { program("squid"); };
log { source(s_client); filter(f_squid); destination(d_logzilla); };

##--------------------------------------------------------------------------#

#Log ldap server.
#
filter f_ldap { program("slapd"); };
log { source(s_client); filter(f_ldap); destination(d_logzilla); };

##-----------------------------------------------------------------------------#

…
#บรรทัดล่างสุดเพิ่ม
...
destination d_logzilla {
   program("/srv/www/htdocs/lz/scripts/db_insert.pl"
   template("$HOST\t$PRI\t$PROGRAM\t$MSGONLY\n")
   template_escape(yes)
   );
};

# Tell syslog-ng to log to our new destination
log {
   source(src);
      destination(d_logzilla);
};
# Clay's LogZilla config above
##############################################################################


โค๊ด:
SuSEconfig --module syslog-ng
rcsyslog-ng restart


Troubleshooting

[1] ไม่ขึ้นหน้า login

ให้ตรวจสอบ /var/log/message

PHP Fatal error:  Your license has expired, please contact cdukes@cdukes.com for a new key

Solution:  Adding Your License (http://support.logzilla.pro/knowledgebase/articles/13811-3-2-adding-your-license)

[2] Sphinx - Error in query: index idx_delta_logs,idx_logs: query error: no field 'host' found in schema

Solution: ให้ kill process Sphinx Search แล้วรันคำสั่งอีกครั้ง

โค๊ด:
/srv/www/htdocs/lz/sphinx/bin/searchd -c /srv/www/htdocs/lz/sphinx/sphinx.conf



Authorized Resellers LogZilla ในประเทศไทย

http://www.vnet-work.com

Email: info [at] vnet-work [dot] com


Reference:
http://mewbies.com/how_to_logzilla_log_analyzer_tutorial.htm
http://mewbies.com/how_to_install_ioncube_loader_and_zend__optimizer_for_encoded_php_files.htm
http://nms.gdd.net/index.php/Install_Guide_for_LogZilla_v3.2
« แก้ไขครั้งสุดท้าย: กันยายน 24, 2011, 11:33:12 AM โดย Sontaya » แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า

ageLOC Technology
misaki
บุคคลทั่วไป


อีเมล์
« ตอบ #3 เมื่อ: พฤศจิกายน 26, 2011, 07:31:09 PM »


ขอบคุณมากๆ ครับ มีประโยชน์มาก
แจ้งลบกระทู้นี้หรือติดต่อผู้ดูแล   บันทึกการเข้า
ageLOC Technology
หน้า: [1]   ขึ้นบน
  พิมพ์  
 
กระโดดไป:  

(@)2007 SUSE Linux user community found in Thailand. This site is not an official openSUSE and SUSE website, and is not in any way affiliated with or endorsed by SUSE Linux GmbH or Novell. openSUSE and SUSE are trademarks of Novell, Inc. in the United States and other countries.
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!
หน้านี้ถูกสร้างขึ้นภายในเวลา 0.054 วินาที กับ 20 คำสั่ง (Pretty URLs adds 0.012s, 2q)