Skip to content

Commit

Permalink
Add 3rd party metadata
Browse files Browse the repository at this point in the history
  • Loading branch information
sophieyfang committed Apr 5, 2022
1 parent c24395a commit b291dda
Show file tree
Hide file tree
Showing 24 changed files with 303 additions and 0 deletions.
3 changes: 3 additions & 0 deletions integration_test/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,6 +171,9 @@ Then, inside `applications/<application>/`:
exposed in the previous step.
1. (if necessary) `exercise`. This is only needed
sometimes, e.g. to get the application to log to a particular file.
1. Inside `metadata.yaml`, add `short_name`, e.g. `solr` and `long_name`, e.g.
`Apache Solr`.
1. Some integration will have steps for configuring instance, e.g. [Apache Hadoop](https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/third-party/hadoop#configure-instance).
1. (if you want to test logging) add `expected_logs` in metadata.yaml
1. (if you want to test metrics) add `expected_metrics` in metadata.yaml

Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: activemq
long_name: Apache ActiveMQ
minimum_supported_agent_version:
metrics: 2.11.0
expected_metrics:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,28 @@
short_name: apache
long_name: Apache Web Server (httpd)
configure_integration: "To collect telemetry from your Apache Web Server, you must configure the
server's `httpd.conf` file to enable the
[`mod_status` plugin](https://httpd.apache.org/docs/2.4/mod/mod_status.html).
Many Apache installations enable this plugin by default. To see if the
plugin is enabled on your VM instance, run:
```bash
curl localhost:80/server-status?auto
```
If the plugin is enabled, then the output includes lines similar to the
following:
<pre>
Total Accesses: 2
Total kBytes: 1
BusyWorkers: 1
IdleWorkers: 4
</pre>
If you get a `404 Not Found` page instead, then the `mod_status` plugin is not
enabled."
minimum_supported_agent_version:
metrics: 2.7.0
logging: 2.4.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
short_name: cassandra
long_name: Apache Cassandra
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port. To
expose a JMX endpoint remotely, you must also set the `java.rmi.server.hostname`
system property.
By default, these properties are set in a Cassandra deployment's
`cassandra-env.sh` file.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM. For example, to set
`com.sun.management.jmxremote.port` to port `7199`, specify the following when
starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=7199
</pre>"
minimum_supported_agent_version:
metrics: 2.6.0
logging: 2.5.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: couchdb
long_name: Apache CouchDB
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.11.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
short_name: elasticsearch
long_name: Elasticsearch
configure_integration: "If you enable [Elasticsearch security
features](https://www.elastic.co/guide/en/elasticsearch/reference/7.16/secure-cluster.html){: .external},
you must configure a user with the `monitor` or `manage` [cluster
privilege](https://www.elastic.co/guide/en/elasticsearch/reference/7.16/security-privileges.html#privileges-list-cluster){: .external}."
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.9.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
short_name: hadoop
long_name: Apache Hadoop
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port. To
expose a JMX endpoint remotely, you must also set the `java.rmi.server.hostname`
system property.
By default, these properties are set in a Hadoop deployment's `hadoop-env.sh`
file.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM. For example, to set
`com.sun.management.jmxremote.port` to port `8004`, specify the following when
starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=8004
</pre>"
minimum_supported_agent_version:
metrics: 2.11.0
logging: 2.11.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
short_name: hbase
long_name: Apache HBase
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port. To
expose a JMX endpoint remotely, you must also set the `java.rmi.server.hostname`
system property.
By default, these properties are set in a HBase deployment's `hbase-env.sh`
file.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM. For example, to set
`com.sun.management.jmxremote.port` to port `10101`, specify the following when
starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=10101
</pre>"
minimum_supported_agent_version:
metrics: 2.11.0
logging: 2.11.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: iis
long_name: IIS
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.10.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,21 @@
short_name: jvm
long_name: JVM
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port.
To expose a JMX endpoint remotely, you must also set the
`java.rmi.server.hostname` system property.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM.
For example, to set `com.sun.management.jmxremote.port` to port `9999`, specify
the following when starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=9999
</pre>"
minimum_supported_agent_version:
metrics: 2.2.0
expected_metrics:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
short_name: kafka
long_name: Apache Kafka
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port. To
expose a JMX endpoint remotely, you must also set the `java.rmi.server.hostname`
system property.
By default, these properties are set in a Kafka deployment's
`bin/kafka-run-class.sh` file.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM. For example, to set
`com.sun.management.jmxremote.port` to port `9999`, specify the following when
starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=9999
</pre>"
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.10.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: memcached
long_name: Memcached
minimum_supported_agent_version:
metrics: 2.8.0
expected_metrics:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: mongodb
long_name: MongoDB
minimum_supported_agent_version:
metrics: 2.11.0
logging: 2.10.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: mssql
long_name: Microsoft SQL Server
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.10.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
short_name: mysql
long_name: MySQL
configure_integration: "{% if plugin_name ==\"MariaDB\" %}
MariaDB is a community-developed, commercially supported fork of the MySQL
relational database management system (RDBMS). To collect logs and metrics for
MariaDB, use the `mysql` receivers.
{% endif %}
The `mysql` receiver connects by default to a local {{ plugin_name }}
server using a Unix socket and Unix authentication as the `root` user."
minimum_supported_agent_version:
metrics: 2.8.0
logging: 2.5.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,90 @@
short_name: nginx
long_name: Nginx
configure_integration: "You must enable the `stub_status` module in the nginx configuration file to set
up a locally reachable URL, for example, `http://www.example.com/status` for the
status page. To enable the `stub_status` module, complete the following steps:
1. Edit the `status.conf` file, or create the file if it doesn't exist. You can
find this file in the nginx configuration directory, typically found at
`/etc/nginx/conf.d`.
1. Add the following lines to the `server` section:
```none
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
```
Your configuration file might look like the following example
<pre>
server {
listen 80;
server_name 127.0.0.1;
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
location / {
root /dev/null;
}
}
</pre>
1. Reload the nginx configuration.
```
sudo service nginx reload
```
You can run the following command to automate the previous steps. It creates
a `status.conf` file if it doesn't exist or overwrites the existing one if it
does exist. The command turns on `stub_status`, reloads nginx, and verifies
that the expected information is exposed through the endpoint.
```bash
sudo tee /etc/nginx/conf.d/status.conf > /dev/null << EOF
server {
listen 80;
server_name 127.0.0.1;
location /status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
location / {
root /dev/null;
}
}
EOF
sudo service nginx reload
curl http://127.0.0.1:80/status
```
The sample output is:
<pre>
Active connections: 1
server accepts handled requests
23 23 74
Reading: 0 Writing: 1 Waiting: 0
</pre>
Note: `127.0.0.1` can be replaced with the real server name, for example,
`server_name mynginx.domain.com`. The curl command to verify would be
`curl http://mynginx.domain.com:80/status`.
Alternately, instead of using a separate `status.conf` file, you can also
directly embed the lines to the main `nginx.conf` file, which
is typically located in one of the following directories: `/etc/nginx`,
`/usr/local/nginx/conf`, or `/usr/local/etc/nginx`."
minimum_supported_agent_version:
metrics: 2.1.0
logging: 2.1.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
short_name: postgresql
long_name: PostgreSQL
configure_integration: "The `postgresql` receiver connects by default to a local `postgresql`
server using a Unix socket and Unix authentication as the `root` user."
minimum_supported_agent_version:
metrics: 2.9.0
logging: 2.9.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: rabbitmq
long_name: RabbitMQ
minimum_supported_agent_version:
metrics: 2.11.0
logging: 2.12.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: redis
long_name: Redit
minimum_supported_agent_version:
metrics: 2.7.0
logging: 2.5.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
short_name: solr
long_name: Apache Solr
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port. To
expose a JMX endpoint remotely, you must also set the `java.rmi.server.hostname`
system property.
By default, these properties are set in a Solr deployment's
`solr-env.sh` file.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM. For example, to set
`com.sun.management.jmxremote.port` to port `18983`, specify the following when
starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=18983
</pre>"
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.10.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,22 @@
short_name: tomcat
long_name: Apache Tomcat
configure_integration: "To expose a JMX endpoint, you must set the `com.sun.management.jmxremote.port`
system property when starting the JVM. We also recommend setting the
`com.sun.management.jmxremote.rmi.port` system property to the same port. To
expose a JMX endpoint remotely, you must also set the `java.rmi.server.hostname`
system property.
By default, these properties are set in a Tomcat deployment's
`tomcat-env.sh` file.
To set system properties by using command-line arguments, prepend the property
name with `-D` when starting the JVM. For example, to set
`com.sun.management.jmxremote.port` to port `8050`, specify the following when
starting the JVM:
<pre>
-Dcom.sun.management.jmxremote.port=8050
</pre>"
minimum_supported_agent_version:
metrics: 2.9.0
logging: 2.9.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,16 @@
short_name: wildfly
long_name: WildFly
configure_integration: "To expose the JMX endpoint remotely, you must set the
`jboss.bind.address.management` system property. By default, this property is
set in WildFly's configuration. The default WildFly installation requires no JMX
authentication with JMX exposed locally on `127.0.0.1:9990`.
To collect session metrics, you must enable statistics on the undertow
subsystem by running the following command using the JBoss CLI:
```none
/subsystem=undertow:write-attribute(name=statistics-enabled,value=true)
```"
minimum_supported_agent_version:
metrics: 2.12.0
logging: 2.11.0
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
short_name: zookeeper
long_name: Apache Zookeeper
minimum_supported_agent_version:
metrics: 2.10.0
logging: 2.11.0
Expand Down
Loading

0 comments on commit b291dda

Please sign in to comment.