Clear filter
Announcement
Anastasia Dyubaylo · Dec 13, 2019
Hi Everyone,
Please welcome the new Global Summit 2019 video on InterSystems Developers YouTube Channel:
⏯ Using IoT in InterSystems IRIS for Health
In this video, we will demonstrate connecting a heart rate sensor, to InterSystems IRIS for Health via an MQTT/IoT interface. We will show how the sensor reading becomes a well-formatted HL7 message, suitable for sharing and analysis.
Takeaway: InterSystems IRIS for Health enables you to capture and use the latest wearable data from healthcare sensors.Presenter: @Anton.Umnikov, Senior Cloud Solution Architect, InterSystems
Learn more in this InterSystems Online Learning Course.
Enjoy watching the video! 👍🏼
Announcement
Anastasia Dyubaylo · Dec 14, 2018
Hi Community! It's time for New Badges on InterSystems Global Masters Advocacy Hub! Please welcome:✔ InterSystems IRIS Reporter Badge✔ InterSystems IRIS Blogger Badge✔ InterSystems IRIS Influencer Badge✔ InterSystems IRIS Opinion Maker BadgeHow can GM Advocates get these badges? See the details below.Badge's NameRulesInterSystems IRIS ReporterAwarded after you published 10 / 50 / 100 / 250 articles (not questions) with InterSystems IRIS tag on Developer Community.Posts must not be deleted; they must be published.Counted only the posts with positive rating. Posts from the Developer Community Feedback group are not counted.InterSystems IRIS BloggerInterSystems IRIS InfluencerInterSystems IRIS Opinion Maker And...Please check the additional information about Global Masters:How to join InterSystems Global MastersGlobal Masters Badges DescriptionsGlobal Masters Levels DescriptionsChanges in Global Masters ProgramIf you have not joined InterSystems Global Masters Advocacy Hub yet, let's get started right now! Feel free to ask your questions in the comments to this post. Hi @Anastasia.Dyubaylo How long it will take to get the badge if we published a new Article?
Thanks I believe it is 3 days. I think this is to confirm posts are real and not spam. Also to allow them to get some votes and confirm it has a positive rating. Thanks, Peter! Indeed, there is a 3 days delay which lets our DC Moderators team decide on the nature of the post and to let community vote positively or negatively. You don't get badges and points for negatively voted posts.
Announcement
Jeff Fried · Jan 22, 2019
The preview release of InterSystems HealthShare Health Connect 2019.1 is now available!
Kits and container images are available via WRC's preview download site.
InterSystems HealthShare Health Connect version 2019.1 is the first version of InterSystems HealthShare Health Connect synchronized with InterSystems IRIS, and includes many new features and capabilities, most notably:
FHIR STU3 Support
Java Business Hosts
Managed File Transfer (MFT)
Containerized and cloud deployment
New interoperability capabilities that speed configuring and troubleshooting of productions
These are detailed in the draft documentation and release notes for InterSystems HealthShare Health Connect
(Note that the Health Connect documentation is currently available only to registered healthcare customers via an SSO login.)
Preview releases allow our customers to get an early start working with new features and functionality. They are supported for development and test purposes, but not for production. This preview release does not provide an upgrade from earlier versions of InterSystems HealthShare Health Connect; if you are interested in testing the upgrade process, please contact your InterSystems representative. We noticed that SAMPLES DB appears to be missing, was this intentional? Are you planning to add it in the official release? Also, will there separate notification on build releases with list of fixes? Thank youYuriy The IRIS-based products don't ship a SAMPLES database. Instead there's a documented procedure for setting up your own, then fetching the samples you want.
Question
Zaheer Uddin · Dec 18, 2018
I am unable to connect to InterSystems ODBC client. I am seeing the following error:
[Cache ODBC][State : S1000][Native Code 417] Access denied.
$cnx = new PDO("odbc:Driver={InterSystems ODBC};Server=<IP>;Uid=<id>;Pwd=<password>;");
Am i doing anything wrong?
Although, I can successfully connect and retrieve data in MS Excel using ODBC connection where I have configured my DSN and all If you're using InterSystems IRIS try this connection string (replacing values with appropriate):
"Driver=InterSystems ODBC Driver;Host=127.0.0.1;Port=56772;Database=USER;UID=myUsername;PWD="
and for Caché/Ensemble try (driver name could be InterSystems ODBC):
"Driver=Cache ODBC Driver;Host=127.0.0.1;Port=1972;Database=USER;UID=myUsername;PWD="
If the problem persist, check Audit log. i got the same error message, have you solved the problem?
Announcement
Evgeny Shvarov · Dec 1, 2018
Hi Community!Check the fresh Virtually Speaking recording "InterSystems on vSAN" with @Murray.Oldfield Have a great weekend!
Announcement
Thomas Carroll · Apr 5, 2019
Hi Community!
We're pleased to announce that that InterSystems IRIS Community Edition is available on the Docker Store! InterSystems IRIS Community Edition is the no-cost developer edition designed to lower the barriers to entry to get started with IRIS. Now that it is listed on the Docker Store, running an IRIS Community instance is as easy as -
docker run -d -p 52773:52773 store/intersystems/iris:2019.1.0.511.0-community
For more on running IRIS in containers check out our Documentation or one of the many Community posts on the topic!
Confirming that! Really great news, Joe! What are the limitations of Community edition? One limitation I can see straight away is that this version only includes outdated files for Node.js (ie the iris*.node files). All I see is iris610.node and iris700.node. Is there a reason why the Node.js version 8 and version 10 interface files haven't been included? What a wonderful news There's a section about Community Edition limitations in the document at https://irisdocs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=ACLOUD#ACLOUD_limitsHere's a screenshot of what it currently says:A big disappointment for me is the exclusion of namespace mapping. Those of us who create tools for the InterSystems world commonly use namespace mapping to make our tools available in the users' namespaces. See Evgeny's article here I downloaded IRIS Community edition (store/intersystems/iris:2019.1.0.510.0-community) and was able to create package and global mappings without any issues. I was able to create the mappings, but they don't seem to work for me. Not even after an IRIS restart.I'm using the %ALL pseudo-namespace. I created these mappings (no restarts):Ens* global mapping for ENSLIB -> USERDeepSee* global mapping for ENSLIB -> %ALLEns* package mapping for ENSLIB -> USERHere's the result: I notice that your mappings get code from ENSLIBMy use-case is a bit different.Can you create a new database and namespace pair called XYZ and then define a %ALL mapping so that the globals ^XYZ and the routines XYZ* and the package XYZ get fetched from your XYZ namespace from all other namespaces, e.g. USER ?I'd expect mappings to ENSLIB to work, otherwise the "Ensemble" features of IRIS would be broken in Community Edition.It seems to me that those are allowed but mappings we define to our own databases get ignored. Yeah, apparently only DeepSee and Ens packages/globals can be mapped successfully.Tried random package and it didn't show up even after mapping to %ALL. Thanks, Rob!Introduced your issue here. Please share more requests and feedback there Thanks, John!Your feedback is filed here. Also here. I beat you to it! This is a restriction in the Community Edition and it is what is meant byAll InterSystems IRIS functionality is included except the following:Namespace mapping...You can create mappings and activate configurations which contain mappings if that is useful for some purpose (eg. building a configuration for someone else) however all mappings which do not involve a system database are ignored.
Announcement
Pete Greskoff · Jun 25, 2019
InterSystems has corrected a memory leak in applications that pass by reference to a formal parameter that accepts a variable number of arguments.
This problem exists for:
InterSystems IRIS Data Platform – all currently released versions
InterSystems IRIS for Health – all currently released versions
HealthShare Health Connect 2019.1.0
If this defect occurs, the process partition will eventually be exhausted, resulting in a <STORE> error.
The defect occurs if application code calls a subroutine passing an argument by reference to a parameter that accepts a variable number of arguments using the … syntax. For background on these topics and more examples of code that uses them, see the “Variable Number of Parameters” and the “Passing By Reference” sections in the “Callable User-defined Code Modules” chapter of Using ObjectScript in the documentation (Docs.InterSystems.com).
Here is an example to demonstrate the defect:
test // CDS3148 test
set (var1,var2,var3)=0
do sub(var1,.var2,var3)
quit
sub(arg1,args…)
quit
USER>for i=1:1:1000 { do ^test } write $S
268301128
USER>for i=1:1:1000 { do ^test } write $S
268276552
USER>
This subroutine call would also demonstrate the defect:
do sub(var1,var2,.var3)
But this one would not:
do sub(.var1,var2,var3)
The correction for this defect is identified as CDS3148. It will be included in all future product releases. It is also available via Ad hoc distribution from the InterSystems Worldwide Response Center (WRC).
If you have any questions regarding this alert, please contact the Worldwide Response Center.
Announcement
Anastasia Dyubaylo · Jul 23, 2019
Hi Everyone!InterSystems HealthShare is nominated for the Computable Awards 2019! The Unified Health Record that we implemented together with our partner Itzos in the St. Maartens Clinic has a chance to become the "ICT Project of the Year in Healthcare". A great honour, but of course we also want to win. We need 4,000 votes! Therefore we'd like to ask you to vote! The process of voting is a bit complicated, but we created a step-by-step guide to make it easier:1. Register on → Computable website2. You will receive an email from Computable with a link. Click on the link and you will get to the voting page.3. Use CTRL/COMMAND + F to search for InterSystems on the page, or just scroll down to the award category near the bottom “IT project of the Year in Healthcare.” Vote for the second group:4. Done? Awesome! You will get a "Thank you" email from Computable Awards.So,We hope for you! Help InterSystems to win! Please share, like and send as direct message to your customers, friends and prospects.In addition, we prepare a special challenge to vote on InterSystems Global Masters Advocacy Hub. Please complete it and get a good amount of extra points.Stay tuned! For what it's worth, it looks like it's possible to vote without subscribing to any of the updates - I filled in my information, left all four subscription check-boxes blank, and selected "verstuur", and received an email with a link to vote. Hi Samuel, this is such an awesome correction! Thank you!! I edited the instructions :) Hi ,I filled in my information, and received an email with a link to vote. and I have voted for Intersystems. Thanks Hi Uthman,Thanks for your support! Done! Hi Esther,Thanks for your attention to us! Thanks to all who voted for us, on behalf of the Benelux team!
Announcement
Janine Perkins · Apr 20, 2017
Design a production in a development environment using best practices. After you have built your first production in a test environment, you can start applying what you have learned and begin building in a development environment. Take the Designing Productions Non-Healthcare course to learn additional information to enable you to successfully design your production. Much of the information in this course is considered best practices.Learn More.
Announcement
Evgeny Shvarov · Jun 30, 2017
Hi, Community!Hope you have already put in your schedule the visit to InterSystems Global Summit 2017 which will take place on 10-13 of September in remarkable JW Marriott Desert Springs Resort and Spa.This year we have Experience Lab, The Unconference, and 50 more other sessions, regarding performance, cloud, scalability, FHIR, high availability and other solutions and best practices.Global Summit it the most effective way to know what's new and what are the most powerful practices to make successful solutions with InterSystems technology.Today is the last day for early bird $999 tickets.But! You can get a free of charge ticket on InterSystems Global Masters Advocate hub!There are numerous ways to earn the points: write articles or answer the questions, publish testimonials or provide referrals, or simply watch and read articles and share it on social networks.To join Global Masters leave your comment in this post and we'll send you a personal invite link.Note!Allow us to recognize your contribution to Developer Community in Global Masters and register with the same email you have in Developer Community.Also, Community moderators are getting free tickets to Global Summit.This year they are -- [@Eduard.Lebedyuk], [@John.Murray], and [@Dmitry.Maslennikov].See you on InterSystems Global Summit 2017! Hi, Community!Just want to share the good news.Early bird registration for $999 prolonged until 14th of July, we also have $200 and $300 discounts for you on Global Masters. See the agenda of daily sessions on Solution Developers Conference.
Announcement
Evgeny Shvarov · Oct 31, 2017
Hi, Community!See the Key Notes videos from Global Summit 2017 with new InterSystems IRIS Data Platform announcement.InterSystems Global Summit Keynote - Part 1InterSystems Global Summit Keynote - Part 2
Announcement
Evgeny Shvarov · Oct 24, 2017
Hi, Community!We are having InterSystems Developer Meetup tomorrow 25th of October in CIC.What is it?It's an open evening event to:know more about InterSystems products and new technology features;discuss it with other developers in your area and with developers and engineers from InterSystems Corporation;network with developers of the innovative solutions.Why attend?If you are new to InterSystems data platform, Meetup is a great way to know more and get a direct impression. You can listen to what are the new features and best practices of InterSystems products and discuss your tasks with experienced developers who already used it successfully or with InterSystems employees.If you are already using InterSystems products it’s a great way to meet in person other developers who are making and supporting solutions on InterSystems Data Platform in your region and to discuss your problems and questions with InterSystems developers and engineers directly.Why attend tomorrow?Come tomorrow because we have a greatAGENDA!6-00pm InterSystems IRIS: Sharding and ScalabilityWe just launched new data platform InterSystems IRIS which comes with sharding feature. Tomorrow Jeff Miller, one of sharding developers will describe you how can you benefit from it and you can ask him how it works.6-30 pm Optimize Your Workflow with Atelier 1.1And! Hope you've heard a lot already about our new IDE Atelier! Tomorrow you can listen to the update on how Atelier can help you to develop InterSystems solutions more effectively and you can talk directly to Atelier developer [@Michelle.Stolwyk].7-30 pm Clustering options for high availability and scalabilityAlso, InterSystems Data Platform is known for its High Availability features. [@Oren.Wolf], InterSystems product manager, will have a session which more details on InterSystems High Availability solutions.How to find the place?It's in Cambridge Innovation Center, One Broadway, Cambridge, MA. Come at 5.30pm, bring your ID, come up to the 5th floor and join us in Venture Cafe.Join us for food, beverages, and networking and discuss powerful new InterSystems solutions with other developers in Boston metro area. See the live stream recording! Join Live Stream today and ask your questions online! Thanks for this, Evgeny. It doesn't look like i'll be driving down tonight given the weather here in Maine, so I'll be participating via live stream! Sure, Jeff! Hope you can make the next one. Prepare your questions! ) InterSystems IRIS Data Platfrom: Sharding and Scalability by [@Jeff.Miller] And here's the complete recording:https://www.youtube.com/watch?v=J3QLibe15xs[ including 30 min break ] Yep, we will post remastered version soon ) I've posted the 'Clustering options for high availability and scalability' slides on SlideShare (here) Here's my slide deck - The Power Boost of Atelier! It has private access for now, and available only for you, yet. Fixed! Hi!Here is the remastered version of Meetup live stream recording.
Announcement
Evgeny Shvarov · Mar 1, 2016
Hi Community!I'm pleased to announce that the winner of the Global Summit Free Registration Contest is... Dmitry Maslennikov!Final leaderboard is:To win the prize Dmitry published 3 posts and 13 comments in two weeks. Thanks to your votes for posts and comments Dmitry gathered maximum number of points.We award Dmitry with Free Registration promo code for InterSystems Global Summit 2016 and cover expenses for 4 night stay in Waldorf Astoria Arizona Biltmore.Welcome to InterSystems Global Summit 2016! Thanks a lot Congrats! Congratulations! I am looking forward to meeting you at the Global Summit.Stefan So first off, I think Dmitry deserved to win, but I do have a question.In this post, dated Feb 19th, I had 55 points. On the 26th I posted asking about it and my score was at 50. 4 days later and my final score is still 50 (after a lot more posts). What's the deal? edit: Just realized that posts to the Developer Community Feedback forum didn't count, which explains why my points didn't go up. But it still doesn't explain why they went down. :) Scott - I am sure Evgeny will provide some clarification here once he gets online. Thanks for your patience! Hi, Scott!You are right!The explanation is very simple - we had a bug in formula. Sorry about this.But the final leaderboard is quite right! We have points for: posting, commenting, votes in your posts and comments. And yes, we filter Announcements and Developer Community Feedback groups. Scott!Want to invite you to participate in the Second Developer Community Contest!Hope we will not show errors in leaderboard this time :)
Article
Murray Oldfield · Apr 27, 2016
# InterSystems Data Platforms and performance - Part 5 Monitoring with SNMP
In previous posts I have shown how it is possible to collect historical performance metrics using pButtons. I go to pButtons first because I know it is installed with every Data Platforms instance (Ensemble, Caché, …). However there are other ways to collect, process and display Caché performance metrics in real time either for simple monitoring or more importantly for much more sophisticated operational analytics and capacity planning. One of the most common methods of data collection is to use SNMP (Simple Network Management Protocol).
SNMP a standard way for Caché to provide management and monitoring information to a wide variety of management tools. The Caché online documentation includes details of the interface between Caché and SNMP. While SNMP should 'just work' with Caché there are some configuration tricks and traps. It took me quite a few false starts and help from other folks here at InterSystems to get Caché to talk to the Operating System SNMP master agent, so I have written this post so you can avoid the same pain.
In this post I will walk through the set up and configuration of SNMP for Caché on Red Hat Linux, you should be able to use the same steps for other \*nix flavours. I am writing the post using Red Hat because Linux can be a little more tricky to set up - on Windows Caché automatically installs a DLL to connect with the standard Windows SNMP service so should be easier to configure.
Once SNMP is set up on the server side you can start monitoring using any number of tools. I will show monitoring using the popular PRTG tool but there are many others - [Here is a partial list.](https://en.wikipedia.org/wiki/Comparison_of_network_monitoring_systems)
Note the Caché and Ensemble MIB files are included in the `Caché_installation_directory/SNMP` folder, the file are: `ISC-CACHE.mib` and `ISC-ENSEMBLE.mib`.
#### Previous posts in this series:
- [Part 1 - Getting started on the Journey, collecting metrics.](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-part-1)
- [Part 2 - Looking at the metrics we collected.](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-part-2)
- [Part 3 - Focus on CPU.](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-%E2%80%93-part-3-focus-cpu)
- [Part 4 - Looking at memory.](https://community.intersystems.com/post/intersystems-data-platforms-and-performance-part-4-looking-memory)
# Start here...
Start by reviewing Monitoring Caché Using SNMP in the [Caché online documentation](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_snmp).
## 1. Caché configuration
Follow the steps in _Managing SNMP in Caché_ section in the [Caché online documentation](http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GCM_snmp) to enable the Caché monitoring service and configure the Caché SNMP subagent to start automatically at Caché startup.
Check that the Caché process is running, for example look on the process list or at the OS:
ps -ef | grep SNMP
root 1171 1097 0 02:26 pts/1 00:00:00 grep SNMP
root 27833 1 0 00:34 pts/0 00:00:05 cache -s/db/trak/hs2015/mgr -cj -p33 JOB^SNMP
Thats all, Caché configuration is done!
## 2. Operating system configuration
There is a little more to do here. First check that the snmpd daemon is installed and running. If not then install and start snmpd.
Check snmpd status with:
service snmpd status
Start or Stop snmpd with:
service snmpd start|stop
If snmp is not installed then you will have to install as per OS instructions, for example:
yum -y install net-snmp net-snmp-utils
## 3. Configure snmpd
As detailed in the Caché documentation, on Linux systems the most important task is to verify that the SNMP master agent on the system is compatible with the Agent Extensibility (AgentX) protocol (Caché runs as a subagent) and the master is active and listening for connections on the standard AgentX TCP port 705.
This is where I ran into problems. I made some basic errors in the `snmp.conf` file that meant the Caché SNMP subagent was not communicating with the OS master agent. The following sample `/etc/snmp/snmp.conf` file has been configured to start agentX and provide access to the Caché and ensemble SNMP MIBs.
_Note you will have to confirm whether the following configuration complies with your organisations security policies._
At a minimum the following lines must be edited to reflect your system set up.
For example change:
syslocation "System_Location"
to
syslocation "Primary Server Room"
Also edit the at least the following two lines:
syscontact "Your Name"
trapsink Caché_database_server_name_or_ip_address public
Edit or replace the existing `/etc/snmp/snmp.conf` file to match the following:
###############################################################################
#
# snmpd.conf:
# An example configuration file for configuring the NET-SNMP agent with Cache.
#
# This has been used successfully on Red Hat Enterprise Linux and running
# the snmpd daemon in the foreground with the following command:
#
# /usr/sbin/snmpd -f -L -x TCP:localhost:705 -c./snmpd.conf
#
# You may want/need to change some of the information, especially the
# IP address of the trap receiver of you expect to get traps. I've also seen
# one case (on AIX) where we had to use the "-C" option on the snmpd command
# line, to make sure we were getting the correct snmpd.conf file.
#
###############################################################################
###########################################################################
# SECTION: System Information Setup
#
# This section defines some of the information reported in
# the "system" mib group in the mibII tree.
# syslocation: The [typically physical] location of the system.
# Note that setting this value here means that when trying to
# perform an snmp SET operation to the sysLocation.0 variable will make
# the agent return the "notWritable" error code. IE, including
# this token in the snmpd.conf file will disable write access to
# the variable.
# arguments: location_string
syslocation "System Location"
# syscontact: The contact information for the administrator
# Note that setting this value here means that when trying to
# perform an snmp SET operation to the sysContact.0 variable will make
# the agent return the "notWritable" error code. IE, including
# this token in the snmpd.conf file will disable write access to
# the variable.
# arguments: contact_string
syscontact "Your Name"
# sysservices: The proper value for the sysServices object.
# arguments: sysservices_number
sysservices 76
###########################################################################
# SECTION: Agent Operating Mode
#
# This section defines how the agent will operate when it
# is running.
# master: Should the agent operate as a master agent or not.
# Currently, the only supported master agent type for this token
# is "agentx".
#
# arguments: (on|yes|agentx|all|off|no)
master agentx
agentXSocket tcp:localhost:705
###########################################################################
# SECTION: Trap Destinations
#
# Here we define who the agent will send traps to.
# trapsink: A SNMPv1 trap receiver
# arguments: host [community] [portnum]
trapsink Caché_database_server_name_or_ip_address public
###############################################################################
# Access Control
###############################################################################
# As shipped, the snmpd demon will only respond to queries on the
# system mib group until this file is replaced or modified for
# security purposes. Examples are shown below about how to increase the
# level of access.
#
# By far, the most common question I get about the agent is "why won't
# it work?", when really it should be "how do I configure the agent to
# allow me to access it?"
#
# By default, the agent responds to the "public" community for read
# only access, if run out of the box without any configuration file in
# place. The following examples show you other ways of configuring
# the agent so that you can change the community names, and give
# yourself write access to the mib tree as well.
#
# For more information, read the FAQ as well as the snmpd.conf(5)
# manual page.
#
####
# First, map the community name "public" into a "security name"
# sec.name source community
com2sec notConfigUser default public
####
# Second, map the security name into a group name:
# groupName securityModel securityName
group notConfigGroup v1 notConfigUser
group notConfigGroup v2c notConfigUser
####
# Third, create a view for us to let the group have rights to:
# Make at least snmpwalk -v 1 localhost -c public system fast again.
# name incl/excl subtree mask(optional)
# access to 'internet' subtree
view systemview included .1.3.6.1
# access to Cache MIBs Caché and Ensemble
view systemview included .1.3.6.1.4.1.16563.1
view systemview included .1.3.6.1.4.1.16563.2
####
# Finally, grant the group read-only access to the systemview view.
# group context sec.model sec.level prefix read write notif
access notConfigGroup "" any noauth exact systemview none none
After editing the `/etc/snmp/snmp.conf` file restart the snmpd deamon.
service snmpd restart
Check the snmpd status, note that AgentX has been started see the status line: __Turning on AgentX master support.__
h-4.2# service snmpd restart
Redirecting to /bin/systemctl restart snmpd.service
sh-4.2# service snmpd status
Redirecting to /bin/systemctl status snmpd.service
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
Active: active (running) since Wed 2016-04-27 00:31:36 EDT; 7s ago
Main PID: 27820 (snmpd)
CGroup: /system.slice/snmpd.service
└─27820 /usr/sbin/snmpd -LS0-6d -f
Apr 27 00:31:36 vsan-tc-db2.iscinternal.com systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
Apr 27 00:31:36 vsan-tc-db2.iscinternal.com snmpd[27820]: Turning on AgentX master support.
Apr 27 00:31:36 vsan-tc-db2.iscinternal.com snmpd[27820]: NET-SNMP version 5.7.2
Apr 27 00:31:36 vsan-tc-db2.iscinternal.com systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
sh-4.2#
After restarting snmpd you must restart the Caché SNMP subagent using the `^SNMP` routine:
%SYS>do stop^SNMP()
%SYS>do start^SNMP(705,20)
The operating system snmpd daemon and Caché subagent should now be running and accessible.
## 4. Testing MIB access
MIB access can be checked from the command line with the following commands. `snmpget` returns a single value:
snmpget -mAll -v 2c -c public vsan-tc-db2 .1.3.6.1.4.1.16563.1.1.1.1.5.5.72.50.48.49.53
SNMPv2-SMI::enterprises.16563.1.1.1.1.5.5.72.50.48.49.53 = STRING: "Cache for UNIX (Red Hat Enterprise Linux for x86-64) 2015.2.1 (Build 705U) Mon Aug 31 2015 16:53:38 EDT"
And `snmpwalk` will 'walk' the MIB tree or branch:
snmpwalk -m ALL -v 2c -c public vsan-tc-db2 .1.3.6.1.4.1.16563.1.1.1.1
SNMPv2-SMI::enterprises.16563.1.1.1.1.2.5.72.50.48.49.53 = STRING: "H2015"
SNMPv2-SMI::enterprises.16563.1.1.1.1.3.5.72.50.48.49.53 = STRING: "/db/trak/hs2015/cache.cpf"
SNMPv2-SMI::enterprises.16563.1.1.1.1.4.5.72.50.48.49.53 = STRING: "/db/trak/hs2015/mgr/"
etc
etc
There are also several windows and \*nix clients available for viewing system data. I use the free iReasoning MIB Browser. You will have to load the ISC-CACHE.MIB file into the client so it knows the structure of the MIB.
The following image shows the iReasoning MIB Browser on OSX.

## Including in Monitoring tools
This is where there can be wide differences in implementation. The choice of monitoring or analytics tool I will leave up to you.
_Please leave comments to the post detailing the tools and value you get from them for monitoring and managing your systems. This will be a big help for other community members._
Below is a screen shot from the popular _PRTG_ Network Monitor showing Caché metrics. The steps to include Caché metrics in PRTG are similar to other tools.

### Example workflow - adding Caché MIB to monitoring tool.
#### Step 1.
Make sure you can connect to the operating system MIBs. A tip is to do your trouble-shooting against the operating system not Caché. It is most likely that monitoring tools already know about and are preconfigured for common operating system MIBs so help form vendors or other users may be easier.
Depending on the monitoring tool you choose you may have to add an SNMP 'module' or 'application', these are generally free or open source. I found the vendor instructions pretty straight forward for this step.
Once you are monitoring the operating system metrics its time to add Caché.
#### Step 2.
Import the `ISC-CACHE.mib` and `ISC-ENSEMBLE.mib` into the tool so that it knows the MIB structure.
The steps here will vary; for example PRTG has a 'MIB Importer' utility. The basic steps are to open the text file `ISC-CACHE.mib` in the tool and import it to the tools internal format. For example Splunk uses a Python format, etc.
_Note:_ I found the PRTG tool timed out if I tried to add a sensor with all the Caché MIB branches. I assume it was walking the whole tree and timed out for some metrics like process lists, I did not spend time troubleshooting this, instead I worked around this problem by only importing the performance branch (cachePerfTab) from the `ISC-CACHE.mib`.
Once imported/converted the MIB can be reused to collect data from other servers in your network. The above graphic shows PRTG using Sensor Factory sensor to combine multiple sensors into one chart.
# Summary
There are many monitoring, alerting and some very smart analytics tools available, some free, others with licences for support and many and varied functionality.
You must monitor your system and understand what activity is normal, and what activity falls outside normal and must be investigated. SNMP is a simple way to expose Caché and Ensemble metrics.
I was asked a couple of questions offline, so the following is to answer them:
_Q1. In your article, why do you say it is necessary to change information strings in snmpd.conf? (ie. syslocation/syscontact)?_
A1. What I mean is that you should change syslocation and syscontact to reflect your site, but leaving them as the defaults in the sample will not stop SNMP working using this sample `snmpd.conf`file. _Q2. you also mention basic errors you made in configuring it, which were these? It might be helpful to mention the debugging facilities for snmp `(^SYS("MONITOR","SNMP","DEBUG") )` as well?_
A2. One problem was misconfiguring the security settings in `snmpd.conf`. Following the example above will get you there.
I also spun my wheels with what turned out to be a spelling (or case) error on the line `agentXSocket tcp:localhost:705`. In the end I figured out the problem was to do with agentX not starting by looking at the logs written to the `install-dir/mgr/SNMP.log` file. Caché logs any problems encountered while establishing a connection or answering requests in the `SNMP.log`. You should also check `cconsole.log` and the logs for snmpd in the OS.
On Windows, iscsnmp.dll logs any errors it encounters in %System%\System32\snmpdbg.log (on a 64–bit Windows system, this file is in the SysWOW64 subdirectory).
As pointed out in Fabian's question more information can be logged to the SNMP.log if you set ^SYS("MONITOR","SNMP","DEBUG")=1 in the %SYS namespace and restart the ^SNMP Caché subagent process. This logs details about each message received and sent.
Thanks for the questions
MO BTW Although I have not tried implementing - due to high number of Healthcare applications using Caché I thought it may be of interest that Paessler PRTG has developed new sensors for monitoring medical equipment that communicate via HL7 and DICOM.https://www.paessler.com/blog/2016/04/13/all-about-prtg/ehealth-sensors-know-what-is-going-on-in-your-medical-it I've installed PRTG on a windows 10 system... enabled SNMP services... I've configured SNMP Service to Community "public" destination "127.0.0.1"... PRTG is able to see and graph the system statistics... OK.Then I imported ISC-Cache.mib with Paesler MIB Imported, OK, and "Save for PRTG Network Monitor"... everything seems fine, but, then, where is supposed to be? When I go to PRTG NM I cannot see anyhing related to Caché ... no clue about the library that I supposedly just imported... S of SNMP means Simple... so I'm pretty sure I'm missing something really basic here, but I don't know how to go on. Found... I just got to go to add sensors to a group, windows type and snmp library... there it is the oidlib I had just imported!! When using containers (IRIS) how do use the host to proxy the snmp calls? is there a way to have the container use the hosts ip (and port 705) to do its reporting? Hi Jay,
for the docker run command look at the --net=host flag.
Also SAM might be of interest to you. See
the recent announcement and
a user case
I hope it's helpful
do we hv a similar topic for Cache on windows?Thx!
Announcement
Janine Perkins · Apr 27, 2016
Learn the fundamentals of how and when to use the DeepSee Analyzer. DeepSee Analyzer BasicsThis course describes typical use cases for the Analyzer and shows how to access the Analyzer from the Management Portal. You will learn how use drag and drop to create simple queries, and then refine these queries by sorting, applying filters, and drilling down. Learn More.