mirror of
https://github.com/samuelclay/NewsBlur.git
synced 2025-09-18 21:50:56 +00:00
196 lines
6.4 KiB
Text
Executable file
196 lines
6.4 KiB
Text
Executable file
(C) Copyright 2012, 10gen
|
|
|
|
10gen MongoDB Monitoring Service (MMS) - Agent
|
|
=============
|
|
|
|
For the complete MMS documentation, see: https://mms.10gen.com/help/
|
|
|
|
The MMS agent polls your MongoDB instance(s) once per minute and relays statistics to 10gen.
|
|
|
|
New hosts are added by entering them on this page (click the plus/+ button on the top of the page) - https://mms.10gen.com/host/list
|
|
|
|
If you have a replica set, you only need to enter one host and the agent will discover the rest of the nodes in the group/cluster.
|
|
|
|
If you have a shard cluster, you only need to enter one mongos host and the agent will discover the rest of the nodes in the cluster.
|
|
|
|
Only one MMS agent is active at a time, the others are simply hot-standys.
|
|
|
|
If you restart your agent or fail over to a secondary agent, there is a five minute timeout before data is sent to the central MMS servers.
|
|
|
|
The MMS agent only supports MongoDB 1.6.x+
|
|
|
|
The MMS agent currently does not support Python 3.x
|
|
|
|
Important
|
|
------------
|
|
|
|
If you have thousands of databases or collections, you should disable "DB Stats" on the "Settings" page before starting your agent.
|
|
|
|
Collecting db stats on thousands of databases or collections can adversely impact performance of your system.
|
|
|
|
* https://mms.10gen.com/settings
|
|
|
|
Installation
|
|
------------
|
|
|
|
* Install Python (2.4+) and pymongo (1.9+) - http://api.mongodb.org/python/current/
|
|
|
|
* For most people (on Linux) this is as easy as running: sudo easy_install pymongo
|
|
|
|
* If you do not have easy_install, typically you can run: sudo yum install python-setuptools
|
|
|
|
* For more information, see: http://pypi.python.org/pypi/setuptools
|
|
|
|
* The hashlib package must be installed if running Python 2.4
|
|
|
|
* Try (as root): easy_install hashlib - if that does not work, use: http://pypi.python.org/pypi/hashlib/20081119
|
|
|
|
* Download and unzip and then run (requires root/sudo permission to install):
|
|
|
|
* python setup.py build
|
|
|
|
* python setup.py install
|
|
|
|
* The backported hmac package must be installed if running Python 2.4
|
|
|
|
* Do *not* use pip for installing this package. Pip is not pulling the correct files.
|
|
|
|
* Try (as root): easy_install hmac - if that does not work, use: http://pypi.python.org/pypi/hmac
|
|
|
|
* Download and unzip and then run (requires root/sudo permission to install):
|
|
|
|
* python setup.py build
|
|
|
|
* python setup.py install
|
|
|
|
* If you need to install any libraries then make sure you close your session/terminal after installing and open a new one, before starting the agent.
|
|
|
|
* The agent will securely update itself as new releases are published by 10gen. The agent directory must be writable by the user the agent is running under.
|
|
|
|
* Start the agent:
|
|
|
|
nohup python agent.py > /REPLACE_SOME_DIRECTORY/agent.log 2>&1 &
|
|
|
|
Note: If you are running Python 2.4, you should reduce the default stack size for the user account the MMS agent runs under. In Python 2.5+, the agent reduces the stack size programmatically.
|
|
|
|
Hardware Monitoring - Munin Setup
|
|
------------
|
|
|
|
MMS also supports hardware monitoring on database servers. To accomplish this, MMS collects data from the ubiquitous Munin Node daemon.
|
|
|
|
Note munin-node, and hardware monitoring is only available for MongoDB instances running on Linux hosts.
|
|
|
|
The following are a list of steps to install and configure the Munin Node daemon for MMS.
|
|
|
|
* Install the munin-node module
|
|
|
|
* On the majority of OSs, this can be accomplished by using apt-get or yum - e.g., sudo yum install munin-node)
|
|
|
|
* If you install from source you must also install the plugins (described in the links below under "Additional Documentation")
|
|
|
|
* MMS currently uses the cpu, iostat and iostat_ios plugins
|
|
|
|
* Configure munin-node.conf to allow connections from the server(s) running your MMS agent(s).
|
|
|
|
* Typically, this file is located in /etc/munin/munin-node.conf
|
|
|
|
* Modify the "allow" property - See the munin-node.conf documentation for more information: http://munin-monitoring.org/wiki/munin-node.conf
|
|
|
|
* If your disk devices are numbered (e.g., /dev/sda1) then you need to configure the munin iostat plugin to support numbered disks (disabled by default).
|
|
|
|
* For a typical installation, the configuration file is: /etc/munin/plugin-conf.d/munin-node
|
|
|
|
* If this file does not exist, create and add the following:
|
|
[iostat]
|
|
env.SHOW_NUMBERED 1
|
|
|
|
* Ensure your Munin Node process is registered to start on server boot
|
|
|
|
* E.g. sudo ln -s /etc/init.d/munin-node /etc/rc3.d/S99munin-node
|
|
|
|
* Restart your Munin Node process to update the configuration:
|
|
|
|
* sudo /etc/init.d/munin-node restart
|
|
|
|
* You can verify your munin-node setup by running the following from the agent(s) nodes:
|
|
|
|
* telnet HOSTNAME 4949 (the default and required port for munin-node)
|
|
|
|
* fetch iostat
|
|
|
|
* fetch iostat_ios
|
|
|
|
* fetch cpu
|
|
|
|
(each command should be on a separate line - i.e., hit return after fetch COMMAND - if the plugins are not installed you will see '# Unknown service')
|
|
|
|
* Additional Documentation
|
|
|
|
* http://munin-monitoring.org/wiki/munin-node
|
|
|
|
* http://munin-monitoring.org/wiki/LinuxInstallation
|
|
|
|
* http://munin-monitoring.org/wiki/SolarisInstallation
|
|
|
|
* http://munin-monitoring.org/wiki/HowToMonitorWindows
|
|
|
|
* http://munin-monitoring.org
|
|
|
|
Firewall
|
|
-------------
|
|
|
|
If your datacenter is secured by a firewall, please configure your firewall to allow outbound connections on port 443 (SSL) to mms.10gen.com
|
|
|
|
Proxy
|
|
-------------
|
|
|
|
If your datacenter requires outbound connections to route through a proxy, you can add the following environment variable:
|
|
|
|
export https_proxy='http://someProxyServer:port';
|
|
|
|
(on Windows use HTTPS_PROXY)
|
|
|
|
Note: This requires Python 2.6.1+
|
|
|
|
|
|
Data Collected
|
|
-------------
|
|
|
|
Different commands are executed based on the host type. Below is an overall list of commands/queries executed.
|
|
|
|
* Default
|
|
* serverStatus
|
|
* buildinfo
|
|
* getCmdLineOpts
|
|
* connPoolStats
|
|
* _isSelf
|
|
* getParameter
|
|
* ismaster
|
|
* getShardVersion
|
|
* netstat
|
|
* replSetGetStatus
|
|
* shards.find
|
|
* mongos.find
|
|
* config.chunks.group
|
|
* oplog.find
|
|
* collstats - oplog.rs
|
|
* sources.find (slave)
|
|
* config.settings.find
|
|
* config.collections.find
|
|
* config.databases.find
|
|
* config.lockpings.find
|
|
* dbstats
|
|
* db.locks
|
|
|
|
* Enabled By User
|
|
* profiler.find
|
|
|
|
For more information see:
|
|
|
|
* https://groups.google.com/forum/#!forum/10gen-mms
|
|
|
|
To submit a support request:
|
|
|
|
* https://jira.mongodb.org/secure/CreateIssue.jspa?pid=10582&issuetype=6
|
|
|
|
|