Мониторинг не является не эксплуатация и техническое обслуживание, это мудрость;
Zabbix мощной самоочевидные здесь, научит вас использовать его для решения очень общего требования сегодня, эксплуатация и техническое обслуживание освобождения рук, вдохновленное идеями каждого, если вы отдаете свое сердце, чтобы увидеть конец, мы должны получить что-то:
Кратко представить требования:
В настоящее время многие компании арендуют принтеры, потому что купить, чем аренда, в месяц сканера, чтобы увидеть использование расходных материалов, информирует арендодателей своевременную замену расходных материалов, босс должен знать, месячный объем печати, и так далее;
Если многофункциональный принтер лучше сказать, что если много единиц этого? Вы когда-нибудь имели следующую дилемму:
Ежемесячная потребность вручную перейти в передней части принтера для печати заявления бумаги или веба войти, чтобы просмотреть принтер золотник тиражи и использование расходных материалов;
Нам нужно поставка на использование сканера и провайдер услуг единого ежемесячный счет;
Ежемесячная статистика использования нужно вручную сделать отчет инспекции босса;
Поставки не заменяются, что приводит к задержкам в работе уводил для отделов кадров орать, жалуясь на жалобы;
С момента подписания контракта и поставщика оценивается тиража 9K / месяц, что превышает этот номер за дополнительную плату, во многих случаях не закончили использовать обычные отходы, но закончили,
Если число копий, достигающих 80% от номинальной эксплуатации и технического обслуживания будет автоматически предложено распечатать своевременный обзор аномального поведения (или босс выдается непосредственно к этому требованию), стоимость вашего существования на подсветках отказа;
Так Zabbix может помочь вам:
Но даже дело с использованием Zabbix также сделать некоторые сложно:
Например, путем прямого получения печати принтера SNMP запустить отгружается к текущему накопленному значению, эксплуатация и техническое обслуживание и босс должен видеть фактическую ежемесячную сумму (вы не можете ожидать, что хозяин держит калькулятор на два месяца сканера вычитание),
Таким образом, после каждого сканера завершена, сканер должен быть очищен;
Принтер является поставщиком услуг, вы не можете пойти, чтобы очистить каждый месяц, то только руки и ноги в Zabbix выше, используют формулу, чтобы потерять текущий сканер для достижения цели очистки, мы также делаем в месяц боль;
Так что наберитесь терпения, чтобы увидеть снова будет введена с помощью скрипта для автоматизации.
Первый шаг: Включите службу Snmp принтера, если нет SNMP торгового оборудования в настоящее время, я могу только сказать, что он не хотел смешивать в ИТ-секторе, а также небольшой домашний маршрутизатор Cisco миллионы крупногабаритного оборудования имеют это:
С нашей компанией Samsung K3250NR принтера, например:
Конечно, он может также поленился открыть SNMPv3;
Вход Zabbix создать узел мониторинга:
通过查询打印机官方的SNMP MIB文档或者使用snmpwalk分析OID监控项(玩SNMP要是不会这些,下面也不用看了),找到需要的监控项键值:
监控墨粉耗材使用量:
监控当前累计印数(这个通常不能清零,否则供应商还吃什么)
查看数据采集情况:
这样打印机的一举一动就被监控起来了,但是手工活一点没少,我这人很懒,我连zabbix都不想去看,供应商我也不想去找,电脑能够自动完成的事干嘛要人去惦记?
我只想,每月头,它自动发送抄数和耗材使用情况给供应商并CC一份给我就好,遇到耗材低的时候自己出邮件通知供应商来上门更换。
哦,对了,三星高级打印机有自动定时发送报表邮件功能,但是,呵呵,这个安卓固件实在太烂,测试时候是成功的,过不了多久就罢工,真心没法儿指望;
对的,Linux的任务计划可以做到,每月一号自动抄数,耗材还好说,印数是个累计值,抄数完毕还要从当前抄数自动从零计数并反映到zabbix里面,这个就需要一点技巧;
这里使用zabbix 提供的API在抄数的同时,将当前累计抄数减掉并更新监控项,不要我每个月去手工改监控项:
对的,就是实现下面这个监控项的公式自动更新(我也是懒得可以):
上点干货,在linux下面创建一个python脚本,并加入crontab里面去定时运行:
# !/usr/bin/python3 import smtplib,time from email.mime.text import MIMEText from email.header import Header import subprocess bill_month=time.strftime('%b', time.localtime()) check_time=time.strftime("%Y-%m-%d %H-%M-%S", time.localtime()) last_month = time.localtime()[1]-1 date = time.strptime(str(last_month),'%m') last_month=time.strftime('%m',date) def run_cmd(cmd): result_str='' process = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE) result_f = process.stdout error_f = process.stderr errors = error_f.read() if errors: pass result_str = result_f.read().strip() if result_f: result_f.close() if error_f: error_f.close() return result_str cmd = 'snmpwalk -v 1 -c public 192.168.130.25 .1.3.6.1.2.1.43.10.2.1.4.1.1' #根据自己的情况修改下参数 result = str(run_cmd(cmd)) print_count = ((result.split('Counter32: '))[1]).rstrip("'") print(print_count) cmd2 = 'snmpwalk -v 1 -c public 192.168.130.25 .1.3.6.1.4.1.236.11.5.1.1.3.22.0' result2 = str(run_cmd(cmd2)) SupplyUnit = ((result2.split('INTEGER: '))[1]).rstrip("'") #print(SupplyUnit) cmd3 ='/root/K3250NR/item_update.sh ' + print_count #这里调用外部shell脚本更新zabbix监控项 result3 = str(run_cmd(cmd3)) #print(result3) title = "<table border='0' cellspacing='20' align='center' style='font-size:16px;word-break: keep-all'><tr><th colspan='2'><font face='verdana' color='green'>打印机每月抄数("+last_month+"月)</th></tr>" head = "<tr bgcolor='3F48CC'><th><font color='ffffff'>三星K3250NR打印机</font></th><th><font color='ffffff'>本 次 抄 数</font></th></tr>" sent_content ="<table bgcolor='E2FFC5' border='1' align='center' cellspacing='5'><tr><td>" + title + head +"<tr><td>打印机印数</td><td>" +print_count + '</td></tr><tr><td>墨粉仓剩余</td><td>'+ SupplyUnit +'%</td></tr></table></td></tr></table>' mail_host = "你的邮箱服务地址" mail_user = "发送的邮箱账号" mail_pass = "邮箱密码" sender = '发送的邮箱账号' receivers = ['自己的邮箱和供应商邮箱群组'] message = MIMEText(sent_content, 'html', 'utf-8') message['From'] = Header("Printer Admin", 'utf-8') message['To'] = Header("All IT Colleagues", 'utf-8') subject = '打印机每月抄数('+last_month+'月)' message['Subject'] = Header(subject, 'utf-8') try: smtpObj = smtplib.SMTP() smtpObj.connect(mail_host, 25) smtpObj.login(mail_user, mail_pass) smtpObj.sendmail(sender, receivers, message.as_string()) print("sent success") except smtplib.SMTPException: print("Error: sent faild")
贴上
item_update.sh
token=$(./zabbix_api.sh) #这里又调用外部脚本zabbix_api.sh去获取API的token ,下面如果连itemid都不知道怎么改也就不用玩zabbix了 ZBX='zabbix服务器的IP地址' params="last(\"K3250NR:prtMarkerLifeCount\")-'$1'" curl -s -X POST -H 'Content-Type:application/json' -d ' { "jsonrpc": "2.0", "method": "item.update", "params": { "itemid": "39311", "params": "last(\"K3250NR:prtMarkerLifeCount\")-'$1'" }, "id": 2, "auth": "'$token'" }' http://$ZBX/api_jsonrpc.php
贴上
zabbix_api.sh
#! / bin / Баш админ = Администратор #zabbix用户 передать = Zabbix #密码 гВх = 'XXXX' # Zabbix-сервер的IP地址 локон -s -X POST -H 'Content-Type: применение / JSON' -d ' { "jsonrpc": "2,0", "метод": "user.login", "Титулы": { "пользователь": "$ админ", "пароль": "$ пас" }, "идентификатор": 1, "Auth": нулевой } 'HTTP: //$ZBX/api_jsonrpc.php | Grep -PO' результат [ ":] + \ K [^"] +»
Окончательный эффект в том, что сообщение получено:
пункты мониторинга Zabbix автоматически обновляются счет:
Что можно увидеть в графана графа очищается следы:
Там также могут быть заинтересованы в использовании низких поставок и тревожных сообщений немедленно уведомить поставщика, это не кусок пирога для Zabbix?