วิธีติดตั้ง zabbix server และ zabbix agent

วิธีติดตั้ง Zabbix-server  แนะนำหาเครื่องเปล่าๆ ลง centos 7 เพียวๆนะครับ ไม่ควรมีอะไรอยู่ครับ

yum -y update
yum -y install httpd httpd-devel
yum -y install mariadb-server mariadb
yum -y install php php-cli php-common php-devel php-pear php-gd php-mbstring php-mysql php-xml

systemctl start httpd
systemctl start mariadb.service
systemctl enable mariadb.service

mysqladmin -u root password 123456
## 123456 ใส่พาสของ dbที่ต้องการ

ติดตั้ง repo zabbix เลือกเอาตาม version centos

CentOS/RHEL 7:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

CentOS/RHEL 6:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm

CentOS/RHEL 5:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/5/x86_64/zabbix-release-3.2-1.el5.noarch.rpm

 

yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway

 

#mysql -u root -p
mysql> CREATE DATABASE zabbixdb CHARACTER SET UTF8;
mysql> GRANT ALL PRIVILEGES on zabbixdb.* to zabbix@localhost IDENTIFIED BY ‘zabbix123456’;
mysql> FLUSH PRIVILEGES;
mysql> quit

nano /etc/zabbix/zabbix_server.conf

แก้ config db
DBName=zabbixdb
DBUser=zabbix
DBPassword=Your.Password.Here

cd /usr/share/doc/zabbix-server-mysql-3.2.3
zcat create.sql.gz | mysql -u zabbix -p zabbixdb

 

systemctl start zabbix-server.service
systemctl start zabbix-agent.service
systemctl restart httpd.service
systemctl restart mariadb.service
systemctl enable zabbix-server.service
systemctl enable zabbix-agent.service

แก้ php config
nano /etc/httpd/conf.d/zabbix.conf

php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value date.timezone Asia/Bangkok

systemctl restart httpd

 

Start Zabbix Web Installer

http://localhost/zabbix/
http://127.0.0.1/zabbix/
http://domainname.com/zabbix/

 

วิธีติดตั้งฝั่ง Agent Centos

ติดตั้ง rpm
CentOS/RHEL 7:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64/zabbix-release-3.2-1.el7.noarch.rpm

CentOS/RHEL 6:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/6/x86_64/zabbix-release-3.2-1.el6.noarch.rpm

CentOS/RHEL 5:
# rpm -Uvh http://repo.zabbix.com/zabbix/3.2/rhel/5/x86_64/zabbix-release-3.2-1.el5.noarch.rpm

yum -y install zabbix-agent

nano /etc/zabbix/zabbix_agentd.conf

แก้ Server= เป็นไอพีเครื่อง zabbix server

 

/etc/init.d/zabbix-agent restart

 

วิธีติดคั้ง Agent debian กรณี debian 7 ขึ้นไปเท่านั้น กรณี debian อื่นต้องไปหา repo ใหม่ ใช้ร่วมกับ proxmox ที่ debian 7 ได้
cat /etc/debian_version
wget http://repo.zabbix.com/zabbix/2.0/debian/pool/main/z/zabbix-release/zabbix-release_2.0-1wheezy_all.deb
dpkg -i zabbix-release_2.0-1wheezy_all.deb
apt-get update
apt-get install zabbix-agent
service zabbix-agent restart

 

 

 

เช็คสถานะว่า zabbix เชื่อมต่อได้ไหม ทำจาก zabbix server ไปยัง zabbix agent
yum -y install zabbix-get
/usr/bin/zabbix_get -s 103.7.56.100 -p10050 -kagent.version

 

อันนี้ผมเขียนเตือนความจำตัวเองนะครับ อาจจะไม่ชัดเจน หรือเอาตามความเข้าใจผมไปบ้าง

หากท่านใดติดปัญหา สามารถส่งเมลมาที่ [email protected] นะครับ

วิธีการเซ็ต relay mail ไปใช้ ip อื่นชั่วคราว

หากท่านใดใช้ email เป็นหลักคงปฏิเสธไม่ได้นะครับ ว่าเจอปัญหา backlist ip อยู่บ้าง  ทำให้ประสบปัญหาลุกค้าส่งเมลไม่ออก หรือส่งแล้วตีกลับ

ก่อนดูวิธีการทำ โปรดทราบว่า วิธีนี้เป็นวิธีที่ใช้ชั่วคราวเท่านั้น และเครื่องต้นทางต้องแก้ไขปัญหา สาเหตุของการเกิดปัญหาก่อนนะครับ ไม่งั้น ไอพีปลายทางที่เราไปใช้ ก็จะติด backlist ด้วยนะครับ

 

เพิ่มไอพี white list ในเครื่องปลายทางโดยการนำ ip ต้นทางไปใส่

nano /etc/virtual/whitelist_hosts

 

กลับไปที่เครื่องต้นทาง แล้วเข้า

nano /etc/exim.conf

ค้นหา lookuphost แล้วใส่ # ทั้งบรรทัด

 

เอาข้อความนี้ไปใส่ด้านล่าง lookuphost
send_to_gateway:
driver = manualroute
domains = ! +local_domains
condition = “${perl{check_limits}}”
transport = remote_smtp
route_list = * xxx.xxx.xxx.xxx #<– แก้ไส่ไอพีที่ทำ mail gateway

 

สั่งแก้ dns ทั้งเครื่อง

 

perl -pi -e ‘s/mx ip4:ไอพีเก่า/mx ip4:ไอพีใหม่/’ /var/named/*.db

 

##Set spf
cd /var/named
perl -pi -e ‘s/~all/-all/’ *.db
cd /usr/local/directadmin/data/templates/custom
cp ../dns_txt.conf .
perl -pi -e ‘s/~all/-all/’ dns_txt.conf

 

วิธีเซ็ต วัน เวลา ใน linux

สวัดดีครับ วันนี้เราขอนำเสนอวิธีการเปลี่ยนวันเวลาให้เป็นเมืองไทยครับ

 

ก๊อป วางได้เลยครับ

 

yum install ntpdate -y

ntpdate th.pool.ntp.org

hwclock –systohc

echo “date.timezone = \”Asia/Bangkok\”” >> /usr/local/lib/php.ini   <<< ตรงจุดนี้ผมใช้ directadmin นะครับ หากท่านใช้ path อื่นๆก็ให้แก้เป็นอย่างอื่นครับ

service httpd restart

วิธีบลอค UDP เปิดใช้งานเฉพาะ ไอพี dns server เท่านั้น

สวัดดีครับ หลังจากหลายเดือนที่ผ่านมา ผมเจอปัญหา โจมตีออกจาก server ของผมเพราะว่าลูกค้าถูกฝังสคิป ซึ่งผ่านไปหลายวันมากกว่าจะหาสาเหตุเจอ วิธีแก้ปัญหาเบื้องต้น เพื่อป้องกันการโจมตีออก  หลักการคือ อนุญาติให้ใช้งาน port 53 เท่านั้น เพื่อให้มีการ resolv ไปที่ dns ที่ใช้งาน
รวมไปถึง เปิดให้ใช้งาน udp ได้เฉพาะบางไอพีเท่านั้น

 

iptables -F   <<< ลบ rule เดิมทั้งหมด หากต้องการใช้งาน rule เดิมให้ข้ามขั้นตอนนี้ไปครับ
iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp –sport 53 -j ACCEPT  << อนุญาติให้ port 53 เท่านั้นที่ใช้งาน udpได้ หากต้องการเปิดพอร์ตไหนบ้าง ก็เพิ่มบรรทัดไปนะครับ

ใส่ dns ของ IDC ที่ใช้งาน อย่างของผมนั้นใช้ csloxinfo idc ผมจึงใช้ไอพีดังกล่าว
iptables -A OUTPUT -d 203.146.237.237 -j ACCEPT
iptables -A OUTPUT -d 203.146.237.222 -j ACCEPT

บลอค udp ทั้งหมดไม่ให้ออกจากเครื่อง นอกจาก port 53
iptables -A OUTPUT -p udp -j DROP

เรียบร้อยครับ หลังจากเจอปัยหามาหลายวัน ผมทำวิธีนี้แล้วหายขาดครับ  แต่วิธีนี้เป็นวิธีการแก้ไขที่ปลายเหตุนะครับ อย่าลืมหาต้นตอของอาการด้วย