Qualidade de vida: Com Zabbix e API

28
Qualidade de Vida with Zabbix and API Zabbix Meetup RJ – 2017

Transcript of Qualidade de vida: Com Zabbix e API

Page 1: Qualidade de vida: Com Zabbix e API

Qualidade de Vida

with Zabbix and API

Zabbix Meetup RJ – 2017

Page 2: Qualidade de vida: Com Zabbix e API

meetup-rj@senac:$ whoami

Luiz SalesDevOps at O2BZabbix Specialist and Professional

Page 3: Qualidade de vida: Com Zabbix e API

Automatizar

Page 4: Qualidade de vida: Com Zabbix e API

”Automatizar é melhorar a qualidade de vida da sua equipe. Automatizando o processo, voce consegue garantir uma boa noite de sono para os seus amigos.”

Domingos Neto, Gerente TIVIT

Page 5: Qualidade de vida: Com Zabbix e API
Page 6: Qualidade de vida: Com Zabbix e API

Index

Page 7: Qualidade de vida: Com Zabbix e API

Index• Sync AD with Zabbix• Templates Reports• Hosts Report• Unsupported items • Agents w/ Error• Auto Ack• Icons Import• Web Scenarios• Maintenance

– Host– It Services– Trigger

Page 8: Qualidade de vida: Com Zabbix e API

Sync AD with Zabbix

• ldapsearch

Page 9: Qualidade de vida: Com Zabbix e API

Sync AD with Zabbix

• ldapsearch

• method: user.object

– user.get

– user.create

– user.update

Page 10: Qualidade de vida: Com Zabbix e API

Template ReportsPrint "TEMPLATE;TIPO;ITEM;CHAVE;TRIGGER;TRESHOLD;SEVERIDADE”templates = zapi.template.get({ "output" : "extend", "selectDiscoveries" : "extend" })items = zapi.item.get({ "output" : "extend", "templateids" :

tId, "webitems": "1", "selectDiscoveryRule" : "extend", "selectItemDiscovery": "extend" })triggers = zapi.trigger.get({ "selectDependencies" :"extend" , "output" : "extend", "itemids": iId, "expandExpression" : "extend" })iLLD = zapi.itemprototype.get({ "output": "extend", "discoveryids": iDiscoveryRule })iLLD = zapi.itemprototype.get({ "output": "extend", "discoveryids": iDiscoveryRule })trLLD = zapi.triggerprototype.get({"expandExpression" : "extend", "output": "extend", "discoveryids": iDiscoveryRule})

Page 11: Qualidade de vida: Com Zabbix e API

Template Reports

Page 12: Qualidade de vida: Com Zabbix e API

Host Reports

Page 13: Qualidade de vida: Com Zabbix e API

Host Reports

Page 14: Qualidade de vida: Com Zabbix e API

Unsupported items

item_get = zapi.item.get({ "output" :

"extend","hostids" : hostId, "filter" : { "state" : 1 , "status" : 0 } })

for y in item_get:

iname = y[u'name']

ikey = y[u'key_']

ierror = y[u'error']

print hhost + ";" + hname + ";" + iname + ";" + ikey + ";" + ierror

Page 15: Qualidade de vida: Com Zabbix e API

Agents w/ Error

hosts = zapi.host.get({ "output": ["host", "name", "description", "status","proxy_hostid", "error" ], "filter": { "available": 2 } } )print "HOST;NOME;STATUS;ERROR"for y in hosts:

proxyid = y[u'proxy_hostid']host = y[u'host']name = y[u'name']error = y[u'error']status = y[u'status'].....

print "%s;%s;%s;%s" % (host,name,st,error)

Page 16: Qualidade de vida: Com Zabbix e API

Auto Ack

ack = zapi.event.acknowledge({ "eventids" : EVENTID, "message" : "teste de msg glpi", "action" : 0 })

Page 17: Qualidade de vida: Com Zabbix e API

Auto Ack

ack = zapi.event.acknowledge({ "eventids" : EVENTID, "message" : "teste de msg glpi", "action" : 0 })

Page 18: Qualidade de vida: Com Zabbix e API

Icons Import

ImportIconFile_v05.py

python ImportIconFile_v05.py Wer.zip W3R

API Method:

image.create({ "imagetype": 1, "name": nome, "image" : b64encode })

Page 19: Qualidade de vida: Com Zabbix e API

Web Scenarios

USO : HBBABEP120 Portal http://www.portalsap.com.br"

\"method\": \"httptest.create\",\"params\": {

\"name\": \"$NAME\",\"hostid\": \"$HOSTID\",

\"retries\" : \"3\",\"applicationid\" : \"1960\",

\"steps\": [{

\"name\": \"$NAME\",\"url\": \"$SITE\",\"status_codes\": \"200\",\"no\": \"1\"

....

Page 20: Qualidade de vida: Com Zabbix e API

Maintenance

Page 21: Qualidade de vida: Com Zabbix e API

Maintenance

• Host

\"jsonrpc\": \"2.0\",\"method\": \"maintenance.create\",\"params\": {

\"name\": \"$CRQNUMBER\",\"active_since\": \"$DATETIME_INICIO\",\"active_till\": \"$DATETIME_FINAL\",\"hostids\": [

\"$HOSTID\"],

\"timeperiods\": [{

\"timeperiod_type\": \"0\",\"every\": \"1\",\"dayofweek\": \"64\",\"start_time\": \"$DATETIME_INICIO\",\"period\": \"$PERIOD\"

Page 22: Qualidade de vida: Com Zabbix e API

Maintenance

• Host• IT Services

\"jsonrpc\": \"2.0\",\"method\": \"service.addtimes\",\"params\": {

\"serviceid\": \"$SERVICEID\",\"type\": \"2\",\"ts_from\": \"$DATETIME_INICIO\",\"ts_to\": \"$DATETIME_FINAL\",

\"note\": \"$CRQNUMBER\"....

Page 23: Qualidade de vida: Com Zabbix e API

Maintenance

• Host• IT Services• Triggersitem_get = zapi.item.get({ "output": "extend", "selectTriggers" : "extend", "hostids" : hId, "search" : { "key_" : CHAVE } })for w in item_get:

trig = w[u'triggers']for a in trig:

trId = a[u'triggerid']trigger_update = zapi.trigger.update({

"triggerid" : trId, "status": 1 })

Page 24: Qualidade de vida: Com Zabbix e API

Top 100 Triggers

Page 25: Qualidade de vida: Com Zabbix e API

IT Services

Page 26: Qualidade de vida: Com Zabbix e API

Finish

Page 27: Qualidade de vida: Com Zabbix e API
Page 28: Qualidade de vida: Com Zabbix e API

Thank u!

https://lsa1es.github.io

[email protected]

in/lsa1es