Zabbix 4.2: Tạo mới Templates, Applications, Items, Triggers, Graphs

Monitoring

Contents:

Tiếp theo Zabbix 4.2 Series, bài viết này mình sẽ hướng dẫn các bạn tạo Template và các thành phần cơ bản của một template như Application, Item, Trigger, Graph.

Ngoài các Template có sẵn, để tạo mới một Template có thể giám sát được Host, ngoài thực hiện các thao tác trên Zabbix Web, chúng ta phải tạo script thu thập giá trị cần giám sát và file config đặt trên Host.

Trong hướng dẫn dưới đây mình sẽ tạo một Template kiểm tra dung lượng file và thời gian cập nhật file.

Zabbix 4.2 Series:

Cài đặt & Triển khai Zabbiz 4.2 trên Centos 7

Cấu hình Zabbix-Agent, Thêm, xóa Host

Script tự động cài đặt, cấu hình Zabbix-Agent

Giám sát thông qua Zabbix Proxy

Tạo mới Templates, Applications, Items, Triggers, Graphs

Tạo bản đồ Network

Tạo script và config file trên Host

File script mình sẽ để ở thư mục: /opt/zabbix/

File config sẽ để ở thư mục: /etc/zabbix/zabbix_agentd.d/

Script kiểm tra dung lượng file và thời gian cập nhật file

Script kiểm tra dung lượng file

Các bạn tạo script checkFileSize.py có nội dung sau:

#!/usr/bin/python

import os
import sys


args = sys.argv
try:
        print(os.path.getsize(args[1]))
except Exception as e:
        print(e)

Script kiểm tra thời gian cập nhật file

Các bạn tạo script checkFileUpdate.py có nội dung sau:

#!/usr/bin/python

import os
import sys
from datetime import datetime


args = sys.argv
try:
        update_time = datetime.fromtimestamp(os.stat(args[1]).st_mtime)
except Exception as e:
        print(e)
else:
        delta = datetime.now() - update_time
        print str(delta.total_seconds()).split(".")[0]

Tạo config file

Các bạn tạo file userparameter_checkFile.conf có nội dung sau:

UserParameter=app.checkfile.size[*],/opt/zabbix/checkFileSize.py $1
UserParameter=app.checkfile.update[*],/opt/zabbix/checkFileUpdate.py $1

Sau khi tạo script và file config các bạn khởi động lại dịch vụ Zabbix-Agent

systemctl restart zabbix-agent

Tạo script cập nhật log file

Mình sẽ tạo một script create_test_log.py để cập nhật file /var/log/test.log phục vụ cho bài hướng dẫn này như sau:

import time
import logging
import logging, logging.handlers

def setup_custom_logger(name):
    formatter = \
        logging.Formatter(fmt='%(asctime)s %(levelname)-2s %(message)s'
                          , datefmt='%Y-%m-%d %H:%M:%S')
    handler = logging.handlers.RotatingFileHandler("/var/log/test.log", maxBytes=9000000, backupCount=15)
    handler.setFormatter(formatter)
    screen_handler = logging.StreamHandler()
    screen_handler.setFormatter(formatter)
    logger = logging.getLogger(name)
    logger.setLevel(logging.DEBUG)
    logger.addHandler(handler)
    logger.addHandler(screen_handler)
    return logger

logger = setup_custom_logger('testlog')

if __name__ == '__main__':

        while True:

                logger.info('Test Log For Zabbix')
                logger.info("Sleep 2s ")
                time.sleep(2)

Tạo Templates, Applications, Items, Triggers, Graphs

Sau khi hoàn thành các bước trên Host, chúng ta tiến hành truy cập vào Zabbix Web và thực hiện tạo Template.

Tạo Templates

Configuration -> Templates -> Create template

Sau đó nhập:

  • Template name
  • Group

Tạo Applications

Tiếp theo chọn tab Applications -> Create Application

Nhập vào mục Name sau đó Update

Tạo Application: Check File Size

Tạo Application: Check File Update

Tạo Items

Tiếp theo chọn tab Items -> Create item

Nhập các mục như:

  • Name: Check File Size
  • Key: app.checkfile.size[/var/log/test.log] Key này có nghĩa sẽ kiểm tra kích thước của file /var/log/test.log. Item key phải giống với file config đã tạo trên Host nhé các bạn.
  • Update interval: 30s

Chọn Application tương ứng với item sau đó chọn Update

Tương tự với item ‘Check File Update

Sau khi tạo xong các items chúng ta thử thêm Template vừa tạo vào Host đã cấu hình ở trên để kiểm tra Template.

Kết quả như dưới đây là Template đã được tạo thành công.

Tạo Triggers

Tiếp theo đến bước tạo Triggers để check các điều kiện thỏa mãn sau đó có các hành động tiếp theo như báo lỗi, gửi email, sms,…

Chọn tab Triggers -> Create Trigger

Nhập tên Trigger ở mục Name và chọn mức độ cho cảnh báo này ở mục Severity

Ở mục Expression chọn Add

Sau đó phần Condition hiện ra, tiến hành chọn điều kiện kiểm tra theo nhu cầu:

  • Item: item muốn kiểm tra, mình chọn item check file update
  • Function: ở đây có rất nhiều function, ở đây mình chọn last (). Tức là kiểm tra giá trị cuối cùng.
  • Last of (T): Số lần kiểm tra.
  • Result: kết quả muốn kiểm tra, ở đây mình chọn > 300. Tức là thời gian cập nhật file cuối cùng lớn hơn 300s (5′) sẽ có thông báo.

Sau đó chọn InsertAdd để thêm Trigger

Tương tự với Trigger Check file size, mình sẽ chọn điều kiện kiểm tra là abschange() Tức là kiểm tra sự chênh lệch giữa giá trị cuối cùng và trước đó. Nếu bằng 0 -> file không được cập nhật.

Để kiểm tra Trigger có hoạt động hay không, các bạn vào mục Monitoring -> Screens

Kết quả bên dưới chứng tỏ Trigger đã hoạt động thành công.

Tạo Graphs

Graph là biểu đồ trực quan để người quản trị có thể dễ dàng giám sát hệ thống, để tạo Graph cho Items các bạn chọn tab Graphs

Sau đó nhập các mục sau:

  • Name: tên graph
  • Width,Height: kích thước
  • Items: Chọn items muốn tạo graphs

Chọn Add để thêm Graph

Kiểm tra Graph

Sau khi tạo xong Graph, các bạn vào Monitoring -> Graphs. Chọn graph vừa tạo để xem các thông số đã được thu thập.

Như vậy, mình đã hướng dẫn các bạn tạo mới Templates, Applications, Items, Triggers, Graphs trên Zabbix 4.2, chúc các bạn thành công và nhớ đón đọc các bài viết tiếp theo nhé.

 

Share: