Cách cài đặt tool giám sát tài nguyên mạng munin
munin
1
AWS
5
munin monitoring
1
munin-node
1
White

Đặng Diện viết ngày 17/09/2015

Cách cài đặt tool giám sát tài nguyên mạng munin

1. Giới thiệu munin

1.1. Munin là gì

Một ngày bạn nhận được email cảnh báo Ram máy chủ đang sử dụng trên 90% từ cloudwatch của AWS (xem cách cài đặt cloudwatch của mình tại địa chỉ sau http://kipalog.com/posts/Cach-cai-dat-Cloudwatch-cua-AWS), bạn giật mình, thử vào trang web của mình thì thấy nó load 1 phút vẫn chưa xong @@, bạn hốt hoảng tìm nguyên nhân xem tại sao thì tìm hoài chẳng hiểu tại sao @@. Munin ra đời để giải quyết những trường hợp như vậy.
Munin là một công cụ giám sát các nguồn tài nguyên mạng, nó có thể giúp bạn phân tích các nguồn tài nguyên, giải quyết vấn đề “điều gì đã giết chết hiệu năng của hệ thống”.
alt text
Hình thống kê chi tiết bộ nhớ sử dụng theo ngày và theo tuần của munin
Tham khảo chi tiết hơn tại: http://munin-monitoring.org/

1.2. Munin giám sát những gì

Munin giám sát rất nhiều thứ, nhiều đến nỗi, mình cũng không thể hiểu hết ý nghĩa của nó :))
disk

  • Disk IOs per device
  • Disk latency per device
  • Disk usage in percent
  • Inode usage in percent
  • Throughput per device
  • Utilization per device

network

  • eth0 errors
  • eth0 traffic
  • Firewall Throughput
  • Netstat

processes

  • Fork rate
  • Number of threads
  • Processes
  • Processes priority
  • VMstat

sendmail

  • Sendmail email traffic
  • Sendmail email volumes
  • Sendmail queued mails

system

  • Available entropy
  • CPU usage
  • File table usage
  • Individual interrupts
  • Inode table usage
  • Interrupts and context switches
  • Load average
  • Logged in users
  • Memory usage
  • Swap in/out
  • Uptime

time

  • NTP kernel PLL estimated error (secs)
  • NTP kernel PLL frequency (ppm + 0)
  • NTP kernel PLL offset (secs)
  • NTP states
  • NTP timing statistics for system peer

diskstats_iops

  • IOs for /dev/xvda

diskstats_latency

  • Average latency for /dev/xvda

diskstats_throughput
Disk throughput for /dev/xvda

diskstats_utilization

  • Disk utilization for /dev/xvda

Ngoài ra có thể cài đặt thêm để quản lý apache
apache

  • Apache accesses
  • Apache processes
  • Apache volume

2. Kiến trúc cài đặt của munin

Munin gồm 2 thành phần: Đó là munin server và munin node

  • munin node: có nhiệm vụ thu thập dữ liệu và gửi trả cho munin server
  • munin server: Có nhiệm vụ hiển thị dưới dạng đồ thị, gửi yêu cầu dữ liệu cho munin node, lưu lại dữ liệu mà munin node trả về.

Trường hợp bạn chỉ quản lý 1 máy việc cài đặt munin sẽ rất đơn giản, cài đặt munin-node và munin server trên cùng 1 máy với vài câu lệnh đơn giản.

Nếu bạn cần quản lý nhiều máy (Trong bài viết này, mình cài đặt trên nhiều máy chủ EC2 instance), chỉ nên cài đặt 1 munin server trên 1 máy, và các máy sẽ cài đặt munin-node để gửi số liệu cho munin server.
alt text
Kiến trúc cài đặt munin khi cần quản lý nhiều máy
Nếu có nhiều máy chủ thì cài đặt theo hướng 2 sẽ tiện lợi và tốn ít tài nguyên hơn.
Bởi vì thay vì bạn phải cài đặt cả munin-server và munin-node trên tất cả các máy chủ và mỗi lần bạn cần xem thì phải vào tất cả các máy, thì giờ bạn chỉ cài munin-server trên 1 máy chủ, và cài munin – node trên các máy chủ, bạn chỉ cần vào munin web của 1 máy chủ để theo dõi tình trạng của tất cả máy chủ.
Ở đây mình cài đặt munin trên máy chủ EC2 instance của AWS

3. Cách cài đặt

3.1. Cài đặt gói munin-node

sudo yum install -y munin-node
Nếu bạn gõ câu lệnh trên mà bị lỗi không tìm thấy munin-node thì cần gõ thêm đoạn code sau:
rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
(trên centos). Rồi sau đó gõ lại câu lệnh trên.

sudo chkconfig munin-node on
Đảm bảo rằng bạn cho phép gói TCP ở cổng 4949 đi qua tường lửa. Bảng IPTables trong /etc/sysconfig/iptables cần thêm dòng lệnh sau:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4949 -j ACCEPT

Nếu bạn đang sử dụng máy chủ EC2 instance của AWS thì chỉ cần vào trang
https://console.aws.amazon.com/vpc/home?#
Chọn mục Security Groups
alt text
Tích vào group mà bạn đã lựa chọn để áp dụng cho instance, thêm 1 luật mới vào phần inbound rules như sau:
alt text
Tiếp đến config /etc/munin/munin-node.conf . Giả sử địa chỉ của munin-server là 192.168.0.3 Add địa chỉ của munin server vào file trên (điều này sẽ làm cho phép munin server có thể request data tới munin node)
allow ^192.168.0.3$

Sau khi add thì file /etc/munin/munin-node.conf sẽ như sau:

log_level 4
log_file /var/log/munin-node/munin-node.log
pid_file /var/run/munin/munin-node.pid
background 1
setsid 1
user root
group root
ignore_file DEADJOE$
ignore_file .bak$
ignore_file %$
ignore_file .dpkg-(tmp|new|old|dist)$
ignore_file .rpm(save|new)$
ignore_file .pod$
allow ^192.168.0.3$
allow ^127.0.0.1$
allow ^::1$
host *
port 4949

Nếu munin server và munin node cài đặt trên cùng 1 máy, bạn không cần phải thêm địa chỉ của munin server, vì mặc định nó đã cho phép truy cập từ local ở dòng code này
allow ^127.0.0.1$

Start munin node
sudo service munin-node start

3.2. Cài đặt munin server

sudo yum install -y munin-node
Bạn phải config file /etc/munin/munin.conf để bảo với munin server gửi request data đến munin node

[my-munin-node-01]
        address my.munin-node01.com
        use_node_name yes

my.munin-node01.com là địa chỉ của munin node. Bạn có thể thay thế bằng địa chỉ IP. Nếu munin server và munin node cài đặt trên cùng 1 máy thì sẽ thêm dòng lệnh sau vào file /etc/munin/munin.conf

[localhost]
    address 127.0.0.1
    use_node_name yes 

Sau khi cài đặt xong bạn có thể vào địa chỉ của munin server 192.168.0.3/munin (Giả sử munin server có địa chỉ là 192.168.0.3) để xem kết quả
Bạn có thể cài đặt mật khẩu cho munin server bằng lệnh sau.
htpasswd -c /etc/munin/munin-htpasswd username
Nhập mật khẩu cho username trên.
Việc cài đặt munin server và munin node trên tham khảo tại nguồn http://www.agix.com.au/install-munin-node-client-on-redhatcentos/

3.3. Cài đặt phần bổ sung để theo dõi apache

Ở phần này mình tìm hiểu rất nhiều trang khác nhau, nhưng hầu như họ đều viết không đầy đủ, mình phải chắp ghép lại để có thể cài được phần bổ sung này.
Sửa file /etc/httpd/conf/httpd.conf . Xóa dấu # (nếu có) tại dòng
\#LoadModule status_module modules/mod_status.so

\#ExtendedStatus On

Nhập đoạn code sau
ln -s /usr/share/munin/plugins/apache_accesses /etc/munin/plugins/apache_accesses
ln -s /usr/share/munin/plugins/apache_processes /etc/munin/plugins/apache_processes
ln -s /usr/share/munin/plugins/apache_volume /etc/munin/plugins/apache_volume

Tạo 1 file virtual host để máy khác có thể thông qua nó gọi đến apache plugin này.
sudo nano /etc/httpd/conf.d/ server-status.conf
Nhập đoạn code như sau

<VirtualHost *:80>
    ServerName 127.0.0.1
    <Location /server-status>
      SetHandler server-status
      Order deny,allow
      Deny from all
      Allow from x.x.x.x
      Allow from 127.0.0.1
    </Location>
</VirtualHost>

Dòng Allow from x.x.x.x là cho phép địa chỉ ip khác có thể truy cập (bạn nhập địa chỉ của máy cài munin server vào đây). Nếu munin server và munin node trên cùng 1 máy thì bạn không cần dòng này. Chỉ cần những dòng còn lại.
Restart lại httpd
sudo service httpd restart
Bạn nhập địa chỉ 192.168.0.3/munin để xem kết quả (giả sử là địa chỉ của munin server là 192.168.0.3)
alt text
Phần tô đỏ là 4 con mình theo dõi, được cài đặt trên 1 con server

alt text
Theo dõi apache

Phần cài đặt này mình tham khảo tại (tiếng nhật)
muninのapache関連のデータ取得で忘れがちな点

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Đặng Diện

2 bài viết.
11 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
9 2
Cách cài đặt Cloudwatch của AWS 1. Giới thiệu cloudwatch 1.1. Cloudwatch là gì Cloudwatch là một dịch vụ giám sát các nguồn tài nguyên cloud v...
Đặng Diện viết hơn 2 năm trước
9 2
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
2 bài viết.
11 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!