Open lpowers-ucsf opened 6 months ago
I set it by trigger. I have module for lsi for agent 2 and can share it for u if you give me feedback. Later I will put it on github
I have Zabbix agent 2 installed on everything. If you could share it later I'd like to try it out. We have a mix of controllers:
Broadcom / LSI MegaRAID 12GSAS/PCIe Secure SAS39xx LSI Logic / Symbios Logic MegaRAID SAS 2108 [Liberator] (rev 05) Broadcom / LSI MegaRAID SAS-3 3108 [Invader] (rev 02) Broadcom / LSI MegaRAID Tri-Mode SAS3508 (rev 01) LSI Logic / Symbios Logic MegaRAID SAS 2208 [Thunderbolt] (rev 05)
We would like to get them all into monitoring as soon as possible.
Thanks for your help!
Plugin works with all lsi stack including Dell perc. Please remind me about it on Monday
https://github.com/mykolq/zabbix_agent2_plugins/tree/main/lsi try to install and use plugin
Do I install use the Zabbix template from https://github.com/mykolq/zabbix_lsi_template or is there another template I should use with this plugin?
This is what I get after starting zabbix-agent2 after installing the plugin using the precompiled binary:
Mar 25 08:47:46 ccls28 systemd[1]: Started Zabbix Agent 2. Mar 25 08:47:46 ccls28 zabbix_agent2[153314]: 2024/03/25 08:47:46.365535 cannot register plugins: plugin cannot be loaded by agent using protocol version 6.0.13, the supported version is 6.4.0 Mar 25 08:47:46 ccls28 zabbix_agent2[153314]: zabbix_agent2 [153314]: ERROR: cannot register plugins: plugin cannot be loaded by agent using protocol version 6.0.13, the supported version is 6.4.0 Mar 25 08:47:46 ccls28 systemd[1]: zabbix-agent2.service: Main process exited, code=exited, status=1/FAILURE Mar 25 08:47:46 ccls28 systemd[1]: zabbix-agent2.service: Failed with result 'exit-code'.
[root@ccls28 plugins.d]# rpm -q zabbix-agent2 zabbix-agent2-6.0.27-release1.el9.x86_64
Do I need to compile it myself from source, or should it work with this version?
I test it with 6.4. can you try to update ur agent?
Do I install use the Zabbix template from https://github.com/mykolq/zabbix_lsi_template or is there another template I should use with this plugin?
I had to install zabbix-agent2-6.4.0 to get the precompiled plugin to work.
[root@c4-zabbix ansible]# zabbix_get -s 10.10.10.187 -k 'lsi.allinfo[storcli64]' {"StorageControllers":[{"Id":0,"Model":"SAS 3916","SerialNumber":"FW-00000000","Firmware":"5.220.02-3691","State":"Optimal"}],"LogicalDisks":[{"ControllerId":0,"Consist":"Yes","Name":"","Type":"RAID6","Size":"130.964 TB","State":"Optimal","DGVD":"0/239","LdId":"/c0/v239"},{"ControllerId":0,"Consist":"Yes","Name":"","Type":"RAID6","Size":"130.964 TB","State":"Optimal","DGVD":"1/238","LdId":"/c0/v238"},{"ControllerId":0,"Consist":"Yes","Name":"","Type":"RAID6","Size":"130.964 TB","State":"Optimal","DGVD":"2/237","LdId":"/c0/v237"},{"ControllerId":0,"Consist":"Yes","Name":"","Type":"RAID6","Size":"130.964 TB","State":"Optimal","DGVD":"3/236","LdId":"/c0/v236"},{"ControllerId":0,"Consist":"Yes","Name":"","Type":"RAID6","Size":"130.964 TB","State":"Optimal","DGVD":"4/235","LdId":"/c0/v235"},{"ControllerId":0,"Consist":"Yes","Name":"","Type":"RAID6","Size":"98.223 TB","State":"Optimal","DGVD":"5/234","LdId":"/c0/v234"}],"Batteries":[{"ControllerId":0,"Type":"CV","Model":"CVPM05","State":"Optimal","Temp":25}],"Flags":{"PdInfoFromCtl":false,"PdInfoArgs":"enclosure","BatteryExists":true,"BatteryInfoArgs":"cv"}}
Great:)And template for this I will share in a couple of days. Sure, it is new template
Thanks! I imported the template and added the global macros and I see two triggers for the host I added the template to I'm just not sure what they mean.
It is arguments for getting info about physical disks and batteries. It must be charged by script for api I added. Or you can change it manually. See tag macroname for macroname and macrovalue for it's value
Ok I've installed the script to /usr/lib/zabbix/externalscripts because that was the default location and have made it executable and have installed the pyzabbix module using pip. I just don't know how to setup the script in Zabbix and what to set for the trigger action. Can you help me with what I should make these? I tried going off your documentation but I still don't get it.
Ok I've installed the script to /usr/lib/zabbix/externalscripts because that was the default location and have made it executable and have installed the pyzabbix module using pip. I just don't know how to setup the script in Zabbix and what to set for the trigger action. Can you help me with what I should make these? I tried going off your documentation but I still don't get it.
Sorry, this script is too old for me and I cannot view it on prod. But it seems you are on the right way
It must be something like that
Ok now it says "Remote command" with a Status of "Executed" but those triggers are still there. Do I need to install the script on all hosts that use the template and have it execute through them, or is it supposed to only be installed on the Zabbix server because that's where I put it. If I'm reading the logs correctly it looks like it needs to be on the hosts and not the Zabbix server?
Script is executed on server. You don't need to have it on agent stations. Macroses is now set on host by script? If set, problems will be solved later. If not, you have to debug script.
Ok this is what I see when I try and execute the same command that Zabbix is executing:
You don't need to escape script parameter name with ", only value
Ok I removed those and still get the unexpected keyword argument 'user' when I pass --zbxuser 'zabbix-api' to the script. If I don't set zbxuser it tells me it's required. I'm not passing a --user to the script though. Screenshot attached:
Ok I fixed it. I needed to change:
zabbix = ZabbixAPI(zbxurl, user = apiuser, password = apipass)
to:
zabbix = ZabbixAPI(zbxurl)
zabbix.login(apiuser, apipass)
Ok I fixed it. I needed to change:
zabbix = ZabbixAPI(zbxurl, user = apiuser, password = apipass)
to:
zabbix = ZabbixAPI(zbxurl)
zabbix.login(apiuser, apipass)
Add mr with fix, plz. It will be fine for other users
Sorry, add what? Also, do you have a template that has the battery and disks monitored so they trigger alerts when things fail or would I have to figure out how to add them myself?
Sorry, add what? Also, do you have a template that has the battery and disks monitored so they trigger alerts when things fail or would I have to figure out how to add them myself?
This template has battery and disks
Is it the lsi.allinfo.errors trigger that will show up when there is a problem with either the battery or disks? That's the only trigger I see that looks like it would alert for those. I need to put it on a host that has a failed disk to see if it's working properly still.
Is it the lsi.allinfo.errors trigger that will show up when there is a problem with either the battery or disks? That's the only trigger I see that looks like it would alert for those. I need to put it on a host that has a failed disk to see if it's working properly still.
You are new in zabbix? Batteries and other are discovered by low level discoveries and you have to see it in discoveries
Please read zabbix docs about low level discovery
Sorry I'm still pretty new to Zabbix. I just noticed that I was missing a macro for {$DEFAULT_LLD_THROTTLING_HB_PERIOD} so I've added it and made it 1h. The discovery seems to be working now just one is failing and I don't know if it's ok to ignore or if I still have a problem somewhere.
It is ok, by design. You will get pd metrics by then last discovery on screenshot. With enclosure parameters of storcli in module.
What do I need to change to switch one host to use perccli64? Do I set a macro on the host itself to switch it?
What do I need to change to switch one host to use perccli64? Do I set a macro on the host itself to switch it?
Yes, macro. You must set macro manually
I haven't set this up yet, but am looking into it. I just installed Zabbix 7.0 and was going to see if it will work. We need to monitor servers using either perccli64 or storcli64 because they might be either one. Can you only choose one of these for the entire environment or can you select which one to use for each server that you monitor?