New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(snmp): Large SNMP improvement #304
Conversation
79ce38a
to
957edd1
Compare
* Use AgentX instead of `pass` command to simplify code and improve performance * Update the structure of MIB file to follow conventions for table * Expose zvols state Tickets: #24402, #25734
957edd1
to
106b175
Compare
Hmm I dont see any special daemon handling in snmp-agent.py Does |
@william-gr I've forgot adding |
@themylogin Hmm I worry only about management of the process. |
@william-gr ok, I'll add that |
Just for reference, previously this was handled in ix-snmp
|
I'm still reviewing code changes. Are we caching ZFS data maybe somewhere from 5 - 30 seconds. That way we're not constantly pulling ZFS data every oid query. From my work with networking devices and other appliances these kind of updates time is very normal for certain OIDs. I potentially have a customer whose monitoring code is hanging from this but I'm still trying to lock down the issue as only seen it so far. When I started looking over old code it seemed like we are not caching zfs data |
Also do we have documentation stuff flagged to let customers know when we update mibs? I'm available for any snmp discussion if wanted as someone who heavily implemented monitoring systems facing snmp and snmp's quirks in the past. Of course only if helpful. I much appreciate this work and think it will really benefit users |
Yes, but current cache timeout is 1 second (
Old code was starting new process for each OID query, of course, with no cache. Replacing this with SNMP agent approach was primary target of this PR. New code should work much better.
No. I had no information if previous SNMP implementation was considered usable and stable. Do we need to support old MIB as well as new one? |
I more meant versioning not for support of old mibs but rather customer easily being able to figure out that there an update. I'm not sure on technical side of this but it may be nice to be able to say idk in 11.1 we have moved to FREENAS-MIB v4 or something similar in release notes. Maybe also a download button for mibs in snmp services tab(just tar the folder) but that may be a pipe dream and not fit current standards. I have a feeling that 1 second will be a massive improvement. But having it tuneable might not be a bad idea. Some Freenas users go to extremes and very interesting deployments and future proofing that will probably save pain in future. Overall I'm very excited about this work and thankful as I was going to try and work on a much less clean fix as a proof of concept. |
Jenkins: retest this please |
Jenkins: retest this please |
Ticket: #24402
Jenkins: retest this please |
2 similar comments
Jenkins: retest this please |
Jenkins: retest this please |
Random start failures occur when snmp-agent starts before snmpd
Jenkins: retest this please |
3 similar comments
Jenkins: retest this please |
Jenkins: retest this please |
Jenkins: retest this please |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!
pass
command to simplify code and improveperformance
Tickets: #24402, #25734