A: SPM requires the Collectd "csv" plugin to be enabled and configured like this:
<Plugin csv> DataDir /opt/spm/collectd/logs StoreRates true </Plugin> |
If you are already using Collectd and if the DataDir is already pointed to some other directory, simply symlink the /spm/collectd/logs directory to the directory specified in DataDir, like this:
sudo mkdir -p /opt/spm/collectd # if needed sudo ln -s /some/existing/collectd/data/dir /spm/collectd/logs |
You will also have to merge the remaining part of the Collectd config required by SPM.
A: Yes, see SPM client Chef Recipe example.
To achieve this, after SPM client is installed, open /opt/spm/properties/spm-sender.properties file and just add desired hostname to the value of property spm_sender_hostname_alias.
After that, restart SPM sender with sudo /etc/init.d/spm-sender restart
Few notes to keep in mind:
Yes, starting with 1.20.6 version of SPM client you can make SPM monitor reduce the number of messages it logs every minute (otherwise it logs detailed info about its monitoring lifecycle). To do that, change properties files of your SPM applications. You can find those files with:
ls /opt/spm/spm-monitor/conf/spm-monitor-config-*.properties |
You can adjust one or more of them, depending on which application's monitor log output you want to reduce. At the bottom of those files add the following line:
SPM_MONITOR_LOGGING_LEVEL=reduced |
After you have made the changes, restart your SPM monitor – if you are using standalone variant, run: sudo /etc/init.d/spm-monitor restart , otherwise restart your application/java process.
A: Yes. There are really 2 different scenarios here:
1) If each of those applications should be monitored under a different SPM application (e.g., you could have Solr running on your server along with some Java app and you want to monitor both - Solr would be monitored with SPM application of Solr or SolrCloud type, while the Java app would be monitored with SPM application of JVM type), just complete all installation steps from http://apps.sematext.com/spm-reports/client.do for each of them separately.
2) If you want them monitored under the same SPM application (e.g., you have 3 Solr instances running on a server), you must use different JVM name for each of them. To do this, "1. Package installation" step on http://apps.sematext.com/spm-reports/client.do should be run only once on this machine, while "2. Client configuration setup" step should be run once for each of the 3 Solr instances. When running script /opt/spm/bin/spm-client-setup-conf.sh
in step "2. Client configuration setup", you should add jvmname parameter (and value) at the end of parameter list, like this:
sudo bash /opt/spm/bin/spm-client-setup-conf.sh 11111111-1111-1111-1111-111111111111 solr javaagent jvmname:solr1 |
In this example, we are setting up things for 3 separate Solr processes, monitored under JVM names: solr1, solr2 and solr3 (you choose any names), so this is adjusted command for solr1 instance.
In the remaining sub-steps of "2. Client configuration setup", replace word "default" with the jvmname value you just used.
"2. Client configuration setup" step will have to be repeated N times, once for each monitored application (in our example 3 times with 3 different jvmname values).
Note: By using this kind of setup, you will be able to see JVM stats of all 3 processes separately (JVM name filter is used to do the filtering). When it comes to other, non-JVM stats, they will be aggregated into single value (for instance, request rate chart will show sum of request rate value of these 3 Solr instances). If you want to see even non-JVM stats separately, you will have to create 3 separate SPM Solr applications (one for each Solr instance running on this machine).
SPM client installers currently exist only for Linux, however there is still a way to monitor your service. If you are OK with installing SPM client on separate linux box, and pointing it (more about that further below) to your service (which should be monitored) running on Windows or Mac, you can use SPM to monitor all non-OS related metrics. That means you will not be able to see CPU or system Memory metrics, but metrics specific to your process will be displayed (for example, in case of Solr, you will see all search, index, cache metrics along with all JVM metrics like pool memory, GC stats, JVM threads etc; as another example, in case of MySQL you will see all metrics related to connections, users, queries, handlers, commands, MyISAM, InnoDB, MySQL traffic, etc) .
When monitoring Solr, Elasticsearch, HBase, Hadoop and other Java-based services, you will have an option to choose between using In-process (javaagent) or Standalone monitor. The workaround described here requires the use of standalone monitor variant. Here's what you'd need to do to see your metrics in SPM:
-Dspm.remote.jmx.url
parameter used in monitor properties. You will know where to adjust it if you follow standard instructions for Standalone monitor. While this parameter will usually have a value like -Dspm.remote.jmx.url=localhost:3000
, in this case you will have to replace localhost
with the address of your Windows/Mac machine(s) by which it can be reached from your helper Linux box.localhost
, but you can instead use something like 10.1.2.3 or my-win-solr-server.mycompany.com to point to the machine that hosts the service you intend to monitor.In case you want to monitor multiple machines belonging to the same cluster in this way, you can still use SPM installed on a single Linux helper box. Just do this:
Standalone SPM monitor runs as a separate process, while Embedded monitor runs embedded in the Java/JVM process. Thus, if you are monitoring a non-Java application, Standalone monitor is the only option. Standalone monitor is a bit more complex to set up when one uses it to monitor Java applications because it typically requires one to enable out-of-process JMX access, as described on Standalone SPM monitor page. With Embedded monitor this is not needed, but one needs to add the SPM agent to the Java command-line and restart the process of the monitored application. When running Standalone monitor one can update the SPM monitor without restarting the Java process being monitored, while a restart is needed when Embedded SPM monitor is being used. At Sematext we use Embedded monitor in almost all cases and use Standalone mode only for monitoring non-Java applications like MySQL and Apache.
Yes. Starting with version 1.22.25, SPM client provides two scripts that can be used to move SPM client files/directories to another location:
1) Soft move script - Moves all SPM files/directories to a new location, but symlinks /opt/spm to the new location. Use this script if you are OK with having /opt/spm symlinked. This script is recommended for most situations since it keeps your SPM client installation completely in line with standard setup (all standard SPM client commands and arguments are still valid).
It accepts 1 parameter: new directory where SPM client should be moved to (if such directory doesn't exist, it will be created)
sudo bash /opt/spm/bin/move-spm-home-dir-soft.sh /mnt/some_dir |
And that is it.
2) Full move script - Moves all SPM files/directories to a new location without leaving any SPM artifacts in /opt directory. Please note that using this script will make management of SPM client a bit harder (for example, there will be some required actions before running SPM client upgrade; also, if you are using in-process (javaagent) type of monitor you will need to adjust some paths in java arguments - more about that below).
It accepts 2 parameters: the current location (by default /opt/spm), and the new location (if such directory doesn't exist, it will be created). It can be run as:
sudo bash /opt/spm/bin/move-spm-home-dir.sh /opt/spm /mnt/some_other_dir/spm |
If you are using in-process (javaagent) versions of SPM monitor to monitor Java-based applications, please adjust agent path(s) you use when starting application(s) you monitor with the SPM agent and make sure to use new location where old location was used before. Also add the following argument to the monitored application's Java process (you can add it right before -javaagent part; adjust the value to match directory you used):
-Dspm.home=/mnt/some_other_dir/spm |
Note: When doing SPM client update on systems where SPM client was moved to different directory using "2) Full move script", you will first have to move SPM back to original /opt/spm directory:
sudo bash /opt/spm/bin/move-spm-home-dir.sh /mnt/some_other_dir/spm /opt/spm |
and then proceed with regular update. After update is done, you can again move SPM client to location which suits you.
Yes, there is an HTTP API that let's you create apps programmatically. Please email spm-support@sematext.com to get the details – the details are not included here to discourage easy abuse.
Yes, you can use the following command for that (it accepts only one parameter, token of SPM application you want to uninstall):
sudo bash /opt/spm/bin/spm-remove-application.sh 11111111-1111-1111-1111-111111111111 |
A: Yes. If you are installing the RPM, add this to /etc/yum.conf:
proxy=http or https://proxy-host-here:port proxy_username=optional_proxy_username proxy_password=optional_proxy_password |
If you are using apt-get, set the http_proxy environmental variable:
export http_proxy=http://username:password@yourproxyaddress:proxyport |
spm_sender_proxy_host= spm_sender_proxy_port= spm_sender_proxy_user_name= spm_sender_proxy_password= |
A: There can be multiple reasons for this, most likely:
If none of the above eliminates the problem for you try adding a flag to avoid certificate checking. In case the command with wget is failing in your case, add "--no-check-certificate" as wget argument. If command with curl is failing, add "-k" flag.
A: Make sure you have followed all steps listed on installation instructions page. Package installation steps should be done first, followed by Client configuration setup. If you have done that and you still don't see application metrics, run sudo bash /opt/spm/bin/spm-client-diagnostics.sh to generate diagnostics package and send it to spm-support@sematext.com with description of your problem.
You should probably enable JMX in your Solr. Add or uncomment the <jmx /> directive in solrconfig.xml and restart Solr. See http://wiki.apache.org/solr/SolrJmx for more info.
Most likely you are using standalone variant of Solr monitor. In that case, SPM monitor can't collect metrics which are available only when running in-process. If so, switch to in-process (javaagent) version of SPM monitor.
SPM for Elasticsearch monitor collects Index stats only from primary shards, so it is possible that you installed SPM monitor on some Elasticsearch node which hosts only replicas. The same is also true for Refresh/Flush and Merge stats. Also note that SPM Elasticsearch monitor should be installed on all your Elasticsearch nodes to get the complete picture of your cluster in SPM Reports UI.
sudo /etc/init.d/spm-sender restart
and restart SPM Monitor by restarting your server which is being monitored (in case in-process/javaagent variant of SPM Monitor) or (in case of standalone SPM Monitor installation):
sudo /etc/init.d/spm-monitor restart
Make sure user spmsender
can have more than 1024 files open:
sudo vim /etc/security/limits.conf spmsender - nofile 32000 sudo vim /etc/pam.d/su session required pam_limits.so |
Restart SPM Sender after the above changes.
sudo /etc/init.d/spm-sender restart |
A: Yes. Since version 1.22.0, SPM sender by default uses HTTPS to send metrics data to Sematext servers. If you prefer to use HTTP instead (for example, if you are running SPM on premises or if you don't need metric data to be encrypted when being sent to SPM over the Internet), you can adjust that in /opt/spm/properties/spm-sender.properties by changing protocol to http in property:
spm_sender_receiver_url=https://spm-receiver.sematext.com/receiver/v1 |
http.host: "127.0.0.1" |
A: No, one Application is enough. Think of an SPM "Application" as a "HBase Cluster". Thus, to monitor N HBase servers that belong to the same cluster you would create just a single SPM Application and use its Token in SPM configuration file on all HBase servers that are a part of this cluster.
A: There could be 2 possible reasons:
A: Kafka had great metrics in 0.7x versions and then in pre-0.8.2 the metrics had a lot of issues. In short, the MBeans Kafka exposed via JMX were named in a way that made them very difficult/impossible to parse systematically. We worked with the Kafka developers to fix that in Kafka 0.8.2 (see https://issues.apache.org/jira/browse/KAFKA-1481). To make your Kafka Producers, Consumers, and Brokers properly monitorable, you should upgrade to 0.8.2 (as soon as it is released, and it looks like that will happen in December 2014) or later.
A: SPM has the possibility to configure webhooks. The details for HipChat are described here.
A: If you have previously installed the SPM client package (RPM, Deb, etc.) as described on https://apps.sematext.com/spm-reports/client.do simply upgrade via apt-get (Debian, Ubuntu, etc.), or yum (RedHat, CentOS, etc.), or zypper (SuSE):
sudo apt-get update && sudo apt-get install spm-client # NOTE: this does not update the whole server, just spm-client sudo yum clean all && sudo yum update spm-client # NOTE: this does not update the whole server, just spm-client sudo zypper up spm-client |
After that is done, also do:
OR
sudo /etc/init.d/spm-monitor restart |
If you used bash script based installer, then just run the installation command again ("curl -ko installer.sh
...." or "wget --no-check-certificate -O installer.sh
..."). There is no need to go through "Client configuration setup" steps from https://apps.sematext.com/spm-reports/client.do since the existing configuration will be preserved.
After that is done, next step is the same as with apt-get/yum/zipper upgrade - you should restart monitored server (if using in-process/javaagent monitor) or standalone SPM monitor.
Note: If you moved SPM client from /opt/spm to different directory, you will first have to move SPM back to original /opt/spm directory:
sudo bash /opt/spm/bin/move-spm-home-dir.sh /mnt/some_other_dir/spm /opt/spm |
and then proceed with regular update. After update is done, you can again move SPM client to location which suits you.
A: On servers where you want to uninstall the client do the following:
sudo apt-get purge spm-client
OR sudo yum remove spm-client
sudo rm -R /opt/spm
Note: in case you used installer described on "Other" tab on http://apps.sematext.com/spm-reports/client.do , instead of commands from step 1 run: sudo bash /opt/spm/bin/spm-client-uninstall.sh
. After that proceed with steps 2 and 3 described above.
A: We accept all major credit cards - Visa, MasterCard, American Express, JCB, Discover, and Diners Club.
A: Yes, we offer a pre-payment option. When you select this option just email us and tell us how much you want to pre-pay. We'll invoice you and once we receive your payment we'll enter in the system and you'll be good to go. Every month when we do the billing we'll subtract your usage cost for the previous month from your balance in our system. We'll notify you before your balance gets too low, so that we can repeat the invoicing process.
A: We bill on a monthly basis and send an email to notify you of the amount.
A: Yes, when you select your plan and payment method you will also be able to enter an alternative billing email address.
A: There is no commitment and no contract. When/if you want to stop using SPM you simply stop sending us your metrics and/or switch to the Free plan.