Thứ năm, 15/08/2019 | 00:00 GMT+7

Cách giám sát database PostgreSQL được quản lý của bạn bằng Nagios Core trên Ubuntu 18.04

Giám sát database là chìa khóa để hiểu database hoạt động như thế nào theo thời gian. Nó có thể giúp bạn phát hiện ra các vấn đề sử dụng ẩn và tắc nghẽn đang xảy ra trong database của bạn. Việc triển khai các hệ thống giám sát database có thể nhanh chóng trở thành một lợi thế lâu dài, điều này sẽ ảnh hưởng tích cực đến quá trình quản lý cơ sở hạ tầng của bạn. Bạn có thể phản ứng nhanh chóng với các thay đổi trạng thái của database của bạn và sẽ nhanh chóng được thông báo khi các dịch vụ được giám sát trở lại hoạt động bình thường.

Nagios Core là một hệ thống giám sát phổ biến mà bạn có thể sử dụng để giám sát database được quản lý của bạn . Lợi ích của việc sử dụng Nagios cho tác vụ này là tính linh hoạt của nó — dễ cấu hình và sử dụng — một repository lớn các plugin có sẵn và quan trọng nhất là cảnh báo tích hợp.

Trong hướng dẫn này, bạn sẽ cài đặt giám sát database PostgreSQL trong Nagios Core bằng cách sử dụng plugincheck_postgres Nagios và cài đặt cảnh báo dựa trên Slack. Cuối cùng, bạn sẽ có một hệ thống giám sát cho database PostgreSQL được quản lý của bạn và sẽ được thông báo về các thay đổi trạng thái của các chức năng khác nhau ngay lập tức.

Yêu cầu

Bước 1 - Cài đặt check_postgres

Trong phần này, bạn sẽ download version mới nhất của plugin check_postgres từ Github và cung cấp nó cho Nagios Core. Bạn cũng sẽ cài đặt ứng dụng client PostgreSQL ( psql ), để check_postgres có thể kết nối với database được quản lý của bạn.

Bắt đầu bằng cách cài đặt ứng dụng client PostgreSQL bằng cách chạy lệnh sau:

  • sudo apt install postgresql-client

Tiếp theo, bạn sẽ tải check_postgres xuống folder chính của bạn . Đầu tiên, chuyển đến nó:

  • cd ~

Truy cập trang bản phát hành Github và sao chép liên kết của version plugin mới nhất. Tại thời điểm viết bài, version mới nhất của check_postgres2.24.0 ; hãy nhớ rằng điều này sẽ cập nhật và nếu có thể, cách tốt nhất là sử dụng version mới nhất.

Bây giờ download bằng cách sử dụng curl:

  • curl -LO https://github.com/bucardo/check_postgres/releases/download/2.24.0/check_postgres-2.24.0.tar.gz

Extract nó bằng lệnh sau:

  • tar xvf check_postgres-*.tar.gz

Thao tác này sẽ tạo một folder có cùng tên với file bạn đã download . Thư mục đó chứa file thực thi check_postgres , bạn cần sao chép vào folder nơi Nagios lưu trữ các plugin của nó (thường là /usr/local/nagios/libexec/ ). Sao chép nó bằng cách chạy lệnh sau:

  • sudo cp check_postgres-*/check_postgres.pl /usr/local/nagios/libexec/

Tiếp theo, bạn cần cấp cho user nagios quyền sở hữu nó, để nó có thể được chạy từ Nagios:

  • sudo chown nagios:nagios /usr/local/nagios/libexec/check_postgres.pl

check_postgres hiện có sẵn cho Nagios và được dùng từ nó. Tuy nhiên, nó cung cấp rất nhiều lệnh liên quan đến các khía cạnh khác nhau của PostgreSQL và để bảo trì dịch vụ tốt hơn, tốt hơn nên chia nhỏ chúng ra để chúng có thể được gọi riêng. Bạn sẽ đạt được điều này bằng cách tạo một softlink cho mọi lệnh check_postgres trong folder plugin.

Điều hướng đến folder nơi Nagios lưu trữ các plugin bằng cách chạy lệnh sau:

  • cd /usr/local/nagios/libexec

Sau đó, tạo các softlink với:

  • sudo perl check_postgres.pl --symlinks

Đầu ra sẽ như thế này:

Output
Created "check_postgres_archive_ready" Created "check_postgres_autovac_freeze" Created "check_postgres_backends" Created "check_postgres_bloat" Created "check_postgres_checkpoint" Created "check_postgres_cluster_id" Created "check_postgres_commitratio" Created "check_postgres_connection" Created "check_postgres_custom_query" Created "check_postgres_database_size" Created "check_postgres_dbstats" Created "check_postgres_disabled_triggers" Created "check_postgres_disk_space" Created "check_postgres_fsm_pages" Created "check_postgres_fsm_relations" Created "check_postgres_hitratio" Created "check_postgres_hot_standby_delay" Created "check_postgres_index_size" Created "check_postgres_indexes_size" Created "check_postgres_last_analyze" Created "check_postgres_last_autoanalyze" Created "check_postgres_last_autovacuum" Created "check_postgres_last_vacuum" Created "check_postgres_listener" Created "check_postgres_locks" Created "check_postgres_logfile" Created "check_postgres_new_version_bc" Created "check_postgres_new_version_box" Created "check_postgres_new_version_cp" Created "check_postgres_new_version_pg" Created "check_postgres_new_version_tnm" Created "check_postgres_pgagent_jobs" Created "check_postgres_pgb_pool_cl_active" Created "check_postgres_pgb_pool_cl_waiting" Created "check_postgres_pgb_pool_maxwait" Created "check_postgres_pgb_pool_sv_active" Created "check_postgres_pgb_pool_sv_idle" Created "check_postgres_pgb_pool_sv_login" Created "check_postgres_pgb_pool_sv_tested" Created "check_postgres_pgb_pool_sv_used" Created "check_postgres_pgbouncer_backends" Created "check_postgres_pgbouncer_checksum" Created "check_postgres_prepared_txns" Created "check_postgres_query_runtime" Created "check_postgres_query_time" Created "check_postgres_relation_size" Created "check_postgres_replicate_row" Created "check_postgres_replication_slots" Created "check_postgres_same_schema" Created "check_postgres_sequence" Created "check_postgres_settings_checksum" Created "check_postgres_slony_status" Created "check_postgres_table_size" Created "check_postgres_timesync" Created "check_postgres_total_relation_size" Created "check_postgres_txn_idle" Created "check_postgres_txn_time" Created "check_postgres_txn_wraparound" Created "check_postgres_version" Created "check_postgres_wal_files" 

Perl đã liệt kê tất cả các chức năng mà nó tạo ra một softlink . Bây giờ chúng có thể được thực thi từ dòng lệnh như bình thường.

Bạn đã download và cài đặt plugin check_postgres . Bạn cũng đã tạo các softlink cho tất cả các lệnh của plugin để chúng được dùng riêng lẻ từ Nagios. Trong bước tiếp theo, bạn sẽ tạo một file dịch vụ kết nối, file check_postgres sẽ sử dụng để kết nối với database được quản lý của bạn.

Bước 2 - Cấu hình database của bạn

Trong phần này, bạn sẽ tạo một file dịch vụ kết nối PostgreSQL chứa thông tin kết nối của database của bạn. Sau đó, bạn sẽ kiểm tra dữ liệu kết nối bằng cách gọi check_postgres trên đó.

Theo quy ước, file dịch vụ kết nối được gọi là pg_service.conf và phải được đặt dưới /etc/postgresql-common/ . Tạo nó để chỉnh sửa bằng editor yêu thích của bạn (ví dụ: nano):

  • sudo nano /etc/postgresql-common/pg_service.conf

Thêm các dòng sau, thay thế các chỗ dành sẵn được đánh dấu bằng các giá trị thực được hiển thị trong Control panel Dịch vụdatabase của bạn trong phần Chi tiết Kết nối :

/etc/postgresql-common/pg_service.conf
[managed-db] host=host port=port user=username password=password dbname=defaultdb sslmode=require 

Tệp dịch vụ kết nối có thể chứa nhiều group thông tin kết nối database . Sự bắt đầu của một group được báo hiệu bằng cách đặt tên của group đó trong dấu ngoặc vuông. Sau đó là các tham số kết nối ( host , port , user , password , v.v.), được phân tách bằng các dòng mới, phải được cung cấp một giá trị.

Lưu file khi bạn hoàn tất.

Đến đây bạn sẽ kiểm tra tính hợp lệ của cấu hình bằng cách kết nối với database qua check_postgres bằng cách chạy lệnh sau:

  • ./check_postgres.pl --dbservice=managed-db --action=connection

Ở đây, bạn cho check_postgres biết group thông tin kết nối database nào sẽ sử dụng với tham số --dbservice và cũng chỉ định rằng nó chỉ nên cố gắng kết nối với nó bằng cách chỉ định connection làm hành động.

Đầu ra của bạn sẽ giống như sau:

Output
POSTGRES_CONNECTION OK: service=managed-db version 11.4 | time=0.10s 

Điều này nghĩa là check_postgres đã thành công trong việc kết nối với database , theo các tham số từ pg_service.conf . Nếu bạn gặp lỗi, hãy kiểm tra lại những gì bạn vừa nhập vào file cấu hình đó.

Bạn đã tạo và điền vào file dịch vụ kết nối PostgreSQL, file này hoạt động như một chuỗi kết nối . Bạn cũng đã kiểm tra dữ liệu kết nối bằng cách chạy check_postgres trên đó và quan sát kết quả . Trong bước tiếp theo, bạn sẽ cấu hình Nagios để giám sát các phần khác nhau của database của bạn.

Bước 3 - Tạo dịch vụ giám sát trong Nagios

Đến đây bạn sẽ cấu hình Nagios để theo dõi các số liệu khác nhau của database của bạn bằng cách xác định một server và nhiều dịch vụ, sẽ gọi plugin check_postgres và các softlink của nó.

Nagios lưu trữ các file cấu hình tùy chỉnh của bạn dưới /usr/local/nagios/etc/objects . Các file mới bạn thêm vào đó phải được kích hoạt theo cách thủ công trong file cấu hình Nagios trung tâm, nằm tại /usr/local/nagios/etc/nagios.cfg . Đến đây bạn sẽ xác định các lệnh, một server lưu trữ và nhiều dịch vụ mà bạn sẽ sử dụng để theo dõi database được quản lý của bạn trong Nagios.

Đầu tiên, hãy tạo một folder trong /usr/local/nagios/etc/objects để lưu trữ cấu hình liên quan đến PostgreSQL của bạn bằng cách chạy lệnh sau:

  • sudo mkdir /usr/local/nagios/etc/objects/postgresql

Bạn sẽ lưu trữ các lệnh Nagios cho check_nagios trong một file có tên là commands.cfg . Tạo nó để chỉnh sửa:

  • sudo nano /usr/local/nagios/etc/objects/postgresql/commands.cfg

Thêm các dòng sau:

/usr/local/nagios/etc/objects/postgresql/commands.cfg
define command {     command_name           check_postgres_connection     command_line           /usr/local/nagios/libexec/check_postgres_connection --dbservice=$ARG1$ }  define command {     command_name           check_postgres_database_size     command_line           /usr/local/nagios/libexec/check_postgres_database_size --dbservice=$ARG1$ --critical='$ARG2$' }  define command {     command_name           check_postgres_locks     command_line           /usr/local/nagios/libexec/check_postgres_locks --dbservice=$ARG1$ }  define command {     command_name           check_postgres_backends     command_line           /usr/local/nagios/libexec/check_postgres_backends --dbservice=$ARG1$ } 

Lưu và đóng file .

Trong file này, bạn xác định bốn lệnh Nagios gọi các phần khác nhau của plugin check_postgres (kiểm tra kết nối, nhận số lượng khóa và kết nối cũng như kích thước của toàn bộ database ). Tất cả chúng đều chấp nhận một đối số được truyền cho tham số --dbservice và chỉ định database nào được xác định trong pg_service.conf để kết nối.

Các check_postgres_database_size lệnh chấp nhận một đối số thứ hai đó được truyền cho --critical tham số, trong đó quy định các điểm mà tại đó việc lưu trữ database đang trở thành đầy đủ. Các giá trị được chấp nhận bao gồm 1 KB cho một kilobyte, 1 MB cho một megabyte, v.v., lên đến exabyte ( EB ). Một số không có đơn vị dung lượng được coi là được biểu thị bằng byte.

Bây giờ các lệnh cần thiết đã được xác định, bạn sẽ xác định server (về cơ bản, database ) và các dịch vụ giám sát của nó trong một file có tên services.cfg . Tạo nó bằng trình soạn thảo yêu thích của bạn:

  • sudo nano /usr/local/nagios/etc/objects/postgresql/services.cfg

Thêm các dòng sau, thay thế db_max_storage_size bằng một giá trị liên quan đến bộ nhớ có sẵn của database của bạn. Bạn nên đặt nó thành 90 phần trăm dung lượng lưu trữ mà bạn đã phân bổ cho nó:

/usr/local/nagios/etc/objects/postgresql/services.cfg
define host {       use                    linux-server       host_name              postgres       check_command          check_postgres_connection!managed-db }  define service {       use                    generic-service       host_name              postgres       service_description    PostgreSQL Connection       check_command          check_postgres_connection!managed-db       notification_options   w,u,c,r,f,s }  define service {       use                    generic-service       host_name              postgres       service_description    PostgreSQL Database Size       check_command          check_postgres_database_size!managed-db!db_max_storage_size       notification_options   w,u,c,r,f,s }  define service {       use                    generic-service       host_name              postgres       service_description    PostgreSQL Locks       check_command          check_postgres_locks!managed-db       notification_options   w,u,c,r,f,s }  define service {       use                    generic-service       host_name              postgres       service_description    PostgreSQL Backends       check_command          check_postgres_backends!managed-db       notification_options   w,u,c,r,f,s } 

Trước tiên, bạn xác định một server lưu trữ, để Nagios sẽ biết thực thể mà các dịch vụ liên quan đến. Sau đó, bạn tạo bốn dịch vụ, gọi các lệnh mà bạn vừa xác định. Mỗi cái chuyển sang managed-db làm đối số, nêu chi tiết rằng managed-db mà bạn đã xác định ở Bước 2 phải được theo dõi.

Về tùy chọn thông báo, mỗi dịch vụ quy định cụ thể rằng các thông báo phải được gửi ra khi trạng thái dịch vụ trở thành WARNING , UNKNOWN , CRITICAL , OK (khi nó hồi phục từ thời gian chết), khi dịch vụ bắt đầu vỗ , hoặc khi lên kế hoạch bắt đầu thời gian chết hoặc kết thúc. Nếu không cung cấp cho tùy chọn này một giá trị rõ ràng, sẽ không có thông báo nào được gửi đi (đến các liên hệ có sẵn), ngoại trừ nếu được kích hoạt theo cách thủ công.

Lưu và đóng file .

Tiếp theo, bạn cần yêu cầu Nagios đọc các file cấu hình từ folder mới này một cách rõ ràng, bằng cách chỉnh sửa file cấu hình Nagios chung. Mở nó để chỉnh sửa bằng cách chạy lệnh sau:

  • sudo nano /usr/local/nagios/etc/nagios.cfg

Tìm dòng được đánh dấu này trong file :

/usr/local/nagios/etc/nagios.cfg
... # directive as shown below:  cfg_dir=/usr/local/nagios/etc/servers #cfg_dir=/usr/local/nagios/etc/printers ... 

Trên đó, thêm dòng được đánh dấu sau:

/usr/local/nagios/etc/nagios.cfg
... cfg_dir=/usr/local/nagios/etc/objects/postgresql cfg_dir=/usr/local/nagios/etc/servers ... 

Lưu và đóng file . Dòng này yêu cầu Nagios tải tất cả các file cấu hình từ folder /usr/local/nagios/etc/objects/postgresql , nơi chứa các file cấu hình của bạn.

Trước khi khởi động lại Nagios, hãy kiểm tra tính hợp lệ của cấu hình bằng cách chạy lệnh sau:

  • sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Phần cuối của kết quả sẽ giống như sau:

Output
Total Warnings: 0 Total Errors:   0  Things look okay - No serious problems were detected during the pre-flight check 

Điều này nghĩa là Nagios không tìm thấy lỗi nào trong cấu hình. Nếu nó hiển thị lỗi cho bạn, bạn cũng sẽ thấy gợi ý về điều gì đã xảy ra, vì vậy bạn có thể sửa lỗi dễ dàng hơn.

Để khiến Nagios reload cấu hình của nó, hãy khởi động lại dịch vụ của nó bằng cách chạy lệnh sau:

  • sudo systemctl restart nagios

Đến đây bạn có thể chuyển đến Nagios trong trình duyệt của bạn . Sau khi tải xong, hãy nhấn vào tùy chọn Dịch vụ từ menu bên trái. Bạn sẽ thấy server postgres và danh sách các dịch vụ, cùng với trạng thái hiện tại của chúng:

Dịch vụ giám sát PostgreSQL - Đang chờ xử lý

Tất cả chúng sẽ sớm chuyển sang màu xanh lục và hiển thị trạng thái OK . Bạn sẽ thấy kết quả lệnh trong cột Thông tin trạng thái . Bạn có thể nhấp vào tên dịch vụ và xem thông tin chi tiết về trạng thái và tính khả dụng của nó.

Bạn đã thêm lệnh check_postgres , một server lưu trữ và nhiều dịch vụ vào cài đặt Nagios của bạn để giám sát database của bạn. Bạn cũng đã kiểm tra xem các dịch vụ có hoạt động bình thường hay không bằng cách kiểm tra chúng qua giao diện web Nagios. Trong bước tiếp theo, bạn sẽ cấu hình cảnh báo dựa trên Slack.

Bước 4 - Cấu hình cảnh báo Slack

Trong phần này, bạn sẽ cấu hình Nagios để cảnh báo bạn về các sự kiện qua Slack, bằng cách đăng chúng vào các kênh mong muốn trong không gian làm việc của bạn.

Trước khi bắt đầu, hãy đăng nhập vào không gian làm việc mong muốn của bạn trên Slack và tạo hai kênh nơi bạn muốn nhận thông báo trạng thái từ Nagios: một kênh dành cho server và kênh còn lại dành cho thông báo dịch vụ. Nếu muốn, bạn chỉ có thể tạo một kênh mà bạn sẽ nhận được cả hai loại cảnh báo.

Sau đó, truy cập ứng dụng Nagios trong Thư mục ứng dụng Slack và nhấn Thêm cấu hình . Bạn sẽ thấy một trang để thêm Tích hợp Nagios.

Slack - Thêm tích hợp Nagios

Nhấn vào Thêm tích hợp Nagios . Khi trang tải, hãy cuộn xuống và ghi chú lại mã thông báo, vì bạn cần nó tiếp tục.

Slack - Mã thông báo tích hợp

Đến đây bạn sẽ cài đặt và cấu hình plugin Slack (được viết bằng Perl) cho Nagios trên server của bạn . Trước tiên, hãy cài đặt các yêu cầu Perl bắt buộc bằng cách chạy lệnh sau:

  • sudo apt install libwww-perl libcrypt-ssleay-perl -y

Sau đó, tải plugin xuống folder plugin Nagios của bạn:

  • sudo curl https://raw.githubusercontent.com/tinyspeck/services-examples/master/nagios.pl -o slack.pl

Làm cho nó có thể thực thi được bằng cách chạy lệnh sau:

  • sudo chmod +x slack.pl

Bây giờ, bạn cần chỉnh sửa nó để kết nối với không gian làm việc của bạn bằng cách sử dụng mã thông báo bạn nhận được từ Slack. Mở nó để chỉnh sửa:

  • sudo nano slack.pl

Tìm các dòng sau trong file :

/usr/local/nagios/libexec/slack.pl
... my $opt_domain = "foo.slack.com"; # Your team's domain my $opt_token = "your_token"; # The token from your Nagios services page ... 

Thay foo .slack.com bằng domain không gian làm việc của bạn và your_token bằng mã thông báo tích hợp ứng dụng Nagios của bạn, sau đó lưu file . Bây giờ tập lệnh sẽ có thể gửi các yêu cầu thích hợp đến Slack, bây giờ bạn sẽ kiểm tra bằng cách chạy lệnh sau:

  • ./slack.pl -field slack_channel=#your_channel_name -field HOSTALIAS="Test Host" -field HOSTSTATE="UP" -field HOSTOUTPUT="Host is UP" -field NOTIFICATIONTYPE="RECOVERY"

Thay your_channel_name bằng tên của kênh mà bạn muốn nhận thông báo trạng thái. Tập lệnh sẽ xuất thông tin về yêu cầu HTTP mà nó thực hiện cho Slack và nếu mọi thứ diễn ra chính xác, dòng cuối cùng của kết quả sẽ ok . Nếu bạn gặp lỗi, hãy kiểm tra kỹ xem kênh Slack bạn đã chỉ định có tồn tại trong không gian làm việc hay không.

Như vậy, bạn có thể chuyển đến không gian làm việc Slack của bạn và chọn kênh bạn đã chỉ định. Bạn sẽ thấy một thông báo kiểm tra đến từ Nagios.

Slack - Thông báo kiểm tra Nagios

Điều này xác nhận bạn đã cấu hình đúng tập lệnh Slack. Đến đây bạn sẽ chuyển sang cấu hình Nagios để cảnh báo bạn qua Slack bằng cách sử dụng tập lệnh này.

Bạn cần tạo một liên hệ cho Slack và hai lệnh sẽ gửi tin nhắn đến nó. Bạn sẽ lưu trữ cấu hình này trong một file có tên slack.cfg , trong cùng folder với các file cấu hình trước đó. Tạo nó để chỉnh sửa bằng cách chạy lệnh sau:

  • sudo nano /usr/local/nagios/etc/objects/postgresql/slack.cfg

Thêm các dòng sau:

/usr/local/nagios/etc/objects/postgresql/slack.cfg
define contact {       contact_name                             slack       alias                                    Slack       service_notification_period              24x7       host_notification_period                 24x7       service_notification_options             w,u,c,f,s,r       host_notification_options                d,u,r,f,s       service_notification_commands            notify-service-by-slack       host_notification_commands               notify-host-by-slack }  define command {       command_name     notify-service-by-slack       command_line     /usr/local/nagios/libexec/slack.pl -field slack_channel=#service_alerts_channel }  define command {       command_name     notify-host-by-slack       command_line     /usr/local/nagios/libexec/slack.pl -field slack_channel=#host_alerts_channel } 

Tại đây bạn xác định một liên hệ có tên là slack , nói rằng nó có thể được liên hệ bất cứ lúc nào và chỉ định lệnh nào sẽ sử dụng để thông báo cho dịch vụ và lưu trữ các sự kiện liên quan. Hai lệnh đó được định nghĩa sau nó và gọi tập lệnh bạn vừa cấu hình. Bạn cần thay thế service_alerts_channelhost_alerts_channel bằng tên của các kênh mà bạn muốn nhận thông báo dịch vụ và server . Nếu thích, bạn có thể sử dụng các tên kênh giống nhau.

Tương tự với việc tạo dịch vụ ở bước cuối cùng, việc cài đặt các tùy chọn thông báo dịch vụ và server lưu trữ trên liên hệ là rất quan trọng, vì nó chi phối loại cảnh báo mà liên hệ sẽ nhận được. Việc bỏ qua các tùy chọn đó sẽ dẫn đến việc chỉ gửi thông báo khi được kích hoạt thủ công từ giao diện web.

Khi bạn hoàn tất việc chỉnh sửa, hãy lưu file .

Để kích hoạt cảnh báo qua slack tiếp xúc bạn chỉ cần xác định, bạn cần phải thêm nó vào admin group liên lạc, được định nghĩa trong contacts.cfg file cấu hình, nằm dưới /usr/local/nagios/etc/objects/ . Mở nó để chỉnh sửa bằng cách chạy lệnh sau:

  • sudo nano /usr/local/nagios/etc/objects/contacts.cfg

Tìm đoạn cấu hình trông giống như sau:

/usr/local/nagios/etc/objects/contacts.cfg
define contactgroup {      contactgroup_name       admins     alias                   Nagios Administrators     members                 nagiosadmin } 

Thêm slack vào danh sách thành viên, như sau:

/usr/local/nagios/etc/objects/contacts.cfg
define contactgroup {      contactgroup_name       admins     alias                   Nagios Administrators     members                 nagiosadmin,slack } 

Lưu và đóng file .

Theo mặc định khi chạy các tập lệnh, Nagios không cung cấp thông tin server và dịch vụ thông qua các biến môi trường, đó là điều mà tập lệnh Slack yêu cầu để gửi các thông điệp có ý nghĩa. Để khắc phục điều này, bạn cần đặt cài đặt enable_environment_macros trong nagios.cfg thành 1 . Mở nó để chỉnh sửa bằng cách chạy lệnh sau:

  • sudo nano /usr/local/nagios/etc/nagios.cfg

Tìm dòng trông giống như sau:

/usr/local/nagios/etc/nagios.cfg
enable_environment_macros=0 

Thay đổi giá trị thành 1 , như sau:

/usr/local/nagios/etc/nagios.cfg
enable_environment_macros=1 

Lưu và đóng file .

Kiểm tra tính hợp lệ của cấu hình Nagios bằng cách chạy lệnh sau:

  • sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Phần cuối của kết quả sẽ giống như sau:

Output
Total Warnings: 0 Total Errors:   0  Things look okay - No serious problems were detected during the pre-flight check 

Tiến hành khởi động lại Nagios bằng cách chạy lệnh sau:

  • sudo systemctl restart nagios

Để kiểm tra tích hợp Slack, bạn sẽ gửi một thông báo tùy chỉnh qua giao diện web. Reload trang trạng thái Dịch vụ Nagios trong trình duyệt của bạn. Nhấn vào dịch vụ PostgreSQL Backends và nhấn vào Gửi thông báo dịch vụ tùy chỉnh ở bên phải khi trang tải.

Nagios - Thông báo dịch vụ tùy chỉnh

Nhập comment mà bạn chọn và nhấn vào Commit , sau đó nhấn vào Xong . Bạn sẽ ngay lập tức nhận được một tin nhắn mới trong Slack.

Slack - Cảnh báo trạng thái từ Nagios

Đến đây bạn đã tích hợp Slack với Nagios, vì vậy bạn sẽ nhận được thông báo về các sự kiện quan trọng và các thay đổi trạng thái ngay lập tức. Bạn cũng đã thử nghiệm tích hợp bằng cách kích hoạt thủ công một sự kiện từ bên trong Nagios.

Kết luận

Như vậy, bạn đã cấu hình Nagios Core để theo dõi database PostgreSQL được quản lý của bạn và báo cáo bất kỳ sự kiện và thay đổi trạng thái nào cho Slack, vì vậy bạn sẽ luôn biết những gì đang xảy ra với database của bạn . Điều này sẽ cho phép bạn phản ứng nhanh chóng trong trường hợp khẩn cấp, vì bạn sẽ nhận được nguồn cấp dữ liệu trạng thái trong thời gian thực.

Nếu bạn muốn tìm hiểu thêm về các tính năng của check_postgres , hãy xem tài liệu của nó, nơi bạn sẽ tìm thấy nhiều lệnh hơn mà bạn có thể sử dụng.

Để biết thêm thông tin về những gì bạn có thể làm với Dịch vụdatabase PostgreSQL của bạn , hãy truy cập tài liệu sản phẩm .


Tags:

Các tin liên quan

Cách phân tích thống kê database PostgreSQL được quản lý bằng elastic trên Ubuntu 18.04
2019-08-14
Cách sử dụng PostgreSQL với ứng dụng Ruby on Rails của bạn trên macOS
2019-07-30
Cách sử dụng PostgreSQL với ứng dụng Ruby on Rails của bạn trên Ubuntu 18.04
2019-06-28
Cách kiểm tra database PostgreSQL với InSpec trên Ubuntu 18.04
2019-04-02
Công cụ kết nối dịch vụ database và đo điểm chuẩn PostgreSQL bằng pgbench
2019-02-14
Giới thiệu về Truy vấn trong PostgreSQL
2018-10-17
Cách thiết lập bản sao lôgic với PostgreSQL 10 trên Ubuntu 18.04
2018-08-31
Cách di chuyển thư mục dữ liệu PostgreSQL đến vị trí mới trên Ubuntu 18.04
2018-07-13
Cách cài đặt và sử dụng PostgreSQL trên Ubuntu 18.04
2018-05-04
Cách sử dụng tìm kiếm toàn văn bản trong PostgreSQL trên Ubuntu 16.04
2017-06-15