chore: clean up markdown lint errors input plugins w to z (#10166)
This commit is contained in:
parent
837465fcd5
commit
7d3531a29b
|
|
@ -3,18 +3,17 @@
|
|||
This is a Telegraf service plugin that start an http server and register multiple webhook listeners.
|
||||
|
||||
```sh
|
||||
$ telegraf config -input-filter webhooks -output-filter influxdb > config.conf.new
|
||||
telegraf config -input-filter webhooks -output-filter influxdb > config.conf.new
|
||||
```
|
||||
|
||||
Change the config file to point to the InfluxDB server you are using and adjust the settings to match your environment. Once that is complete:
|
||||
|
||||
```sh
|
||||
$ cp config.conf.new /etc/telegraf/telegraf.conf
|
||||
$ sudo service telegraf start
|
||||
cp config.conf.new /etc/telegraf/telegraf.conf
|
||||
sudo service telegraf start
|
||||
```
|
||||
|
||||
|
||||
### Configuration:
|
||||
## Configuration
|
||||
|
||||
```toml
|
||||
[[inputs.webhooks]]
|
||||
|
|
@ -41,8 +40,7 @@ $ sudo service telegraf start
|
|||
path = "/particle"
|
||||
```
|
||||
|
||||
|
||||
### Available webhooks
|
||||
## Available webhooks
|
||||
|
||||
- [Filestack](filestack/)
|
||||
- [Github](github/)
|
||||
|
|
@ -51,8 +49,7 @@ $ sudo service telegraf start
|
|||
- [Papertrail](papertrail/)
|
||||
- [Particle](particle/)
|
||||
|
||||
|
||||
### Adding new webhooks plugin
|
||||
## Adding new webhooks plugin
|
||||
|
||||
1. Add your webhook plugin inside the `webhooks` folder
|
||||
1. Your plugin must implement the `Webhook` interface
|
||||
|
|
|
|||
|
|
@ -11,7 +11,9 @@ See the [webhook doc](https://www.filestack.com/docs/webhooks).
|
|||
All events for logs the original timestamp, the action and the id.
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'action' = `event.action` string
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'id' = `event.id` string
|
||||
|
|
|
|||
|
|
@ -1,23 +1,26 @@
|
|||
# github webhooks
|
||||
|
||||
You should configure your Organization's Webhooks to point at the `webhooks` service. To do this go to `github.com/{my_organization}` and click `Settings > Webhooks > Add webhook`. In the resulting menu set `Payload URL` to `http://<my_ip>:1619/github`, `Content type` to `application/json` and under the section `Which events would you like to trigger this webhook?` select 'Send me <b>everything</b>'. By default all of the events will write to the `github_webhooks` measurement, this is configurable by setting the `measurement_name` in the config file.
|
||||
You should configure your Organization's Webhooks to point at the `webhooks` service. To do this go to `github.com/{my_organization}` and click `Settings > Webhooks > Add webhook`. In the resulting menu set `Payload URL` to `http://<my_ip>:1619/github`, `Content type` to `application/json` and under the section `Which events would you like to trigger this webhook?` select 'Send me **everything**'. By default all of the events will write to the `github_webhooks` measurement, this is configurable by setting the `measurement_name` in the config file.
|
||||
|
||||
You can also add a secret that will be used by telegraf to verify the authenticity of the requests.
|
||||
|
||||
## Events
|
||||
|
||||
The titles of the following sections are links to the full payloads and details for each event. The body contains what information from the event is persisted. The format is as follows:
|
||||
```
|
||||
|
||||
```toml
|
||||
# TAGS
|
||||
* 'tagKey' = `tagValue` type
|
||||
# FIELDS
|
||||
* 'fieldKey' = `fieldValue` type
|
||||
```
|
||||
The tag values and field values show the place on the incoming JSON object where the data is sourced from.
|
||||
|
||||
#### [`commit_comment` event](https://developer.github.com/v3/activity/events/types/#commitcommentevent)
|
||||
The tag values and field values show the place on the incoming JSON object where the data is sourced from.
|
||||
|
||||
### [`commit_comment` event](https://developer.github.com/v3/activity/events/types/#commitcommentevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -25,15 +28,17 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'commit' = `event.comment.commit_id` string
|
||||
* 'comment' = `event.comment.body` string
|
||||
|
||||
#### [`create` event](https://developer.github.com/v3/activity/events/types/#createevent)
|
||||
### [`create` event](https://developer.github.com/v3/activity/events/types/#createevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -41,15 +46,17 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'ref' = `event.ref` string
|
||||
* 'refType' = `event.ref_type` string
|
||||
|
||||
#### [`delete` event](https://developer.github.com/v3/activity/events/types/#deleteevent)
|
||||
### [`delete` event](https://developer.github.com/v3/activity/events/types/#deleteevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -57,15 +64,17 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'ref' = `event.ref` string
|
||||
* 'refType' = `event.ref_type` string
|
||||
|
||||
#### [`deployment` event](https://developer.github.com/v3/activity/events/types/#deploymentevent)
|
||||
### [`deployment` event](https://developer.github.com/v3/activity/events/types/#deploymentevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -73,6 +82,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
@ -81,9 +91,10 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'environment' = `event.deployment.environment` string
|
||||
* 'description' = `event.deployment.description` string
|
||||
|
||||
#### [`deployment_status` event](https://developer.github.com/v3/activity/events/types/#deploymentstatusevent)
|
||||
### [`deployment_status` event](https://developer.github.com/v3/activity/events/types/#deploymentstatusevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -91,6 +102,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
@ -101,9 +113,10 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'depState' = `event.deployment_status.state` string
|
||||
* 'depDescription' = `event.deployment_status.description` string
|
||||
|
||||
#### [`fork` event](https://developer.github.com/v3/activity/events/types/#forkevent)
|
||||
### [`fork` event](https://developer.github.com/v3/activity/events/types/#forkevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -111,14 +124,16 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'forkee' = `event.forkee.repository` string
|
||||
|
||||
#### [`gollum` event](https://developer.github.com/v3/activity/events/types/#gollumevent)
|
||||
### [`gollum` event](https://developer.github.com/v3/activity/events/types/#gollumevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -126,13 +141,15 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
||||
#### [`issue_comment` event](https://developer.github.com/v3/activity/events/types/#issuecommentevent)
|
||||
### [`issue_comment` event](https://developer.github.com/v3/activity/events/types/#issuecommentevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -141,6 +158,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'issue' = `event.issue.number` int
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
@ -148,9 +166,10 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'comments' = `event.issue.comments` int
|
||||
* 'body' = `event.comment.body` string
|
||||
|
||||
#### [`issues` event](https://developer.github.com/v3/activity/events/types/#issuesevent)
|
||||
### [`issues` event](https://developer.github.com/v3/activity/events/types/#issuesevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -160,15 +179,17 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'action' = `event.action` string
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'title' = `event.issue.title` string
|
||||
* 'comments' = `event.issue.comments` int
|
||||
|
||||
#### [`member` event](https://developer.github.com/v3/activity/events/types/#memberevent)
|
||||
### [`member` event](https://developer.github.com/v3/activity/events/types/#memberevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -176,27 +197,31 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'newMember' = `event.sender.login` string
|
||||
* 'newMemberStatus' = `event.sender.site_admin` bool
|
||||
|
||||
#### [`membership` event](https://developer.github.com/v3/activity/events/types/#membershipevent)
|
||||
### [`membership` event](https://developer.github.com/v3/activity/events/types/#membershipevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'user' = `event.sender.login` string
|
||||
* 'admin' = `event.sender.site_admin` bool
|
||||
* 'action' = `event.action` string
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'newMember' = `event.sender.login` string
|
||||
* 'newMemberStatus' = `event.sender.site_admin` bool
|
||||
|
||||
#### [`page_build` event](https://developer.github.com/v3/activity/events/types/#pagebuildevent)
|
||||
### [`page_build` event](https://developer.github.com/v3/activity/events/types/#pagebuildevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -204,13 +229,15 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
||||
#### [`public` event](https://developer.github.com/v3/activity/events/types/#publicevent)
|
||||
### [`public` event](https://developer.github.com/v3/activity/events/types/#publicevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -218,13 +245,15 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
||||
#### [`pull_request_review_comment` event](https://developer.github.com/v3/activity/events/types/#pullrequestreviewcommentevent)
|
||||
### [`pull_request_review_comment` event](https://developer.github.com/v3/activity/events/types/#pullrequestreviewcommentevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'action' = `event.action` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
|
|
@ -234,6 +263,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'prNumber' = `event.pull_request.number` int
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
@ -247,9 +277,10 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'commentFile' = `event.comment.file` string
|
||||
* 'comment' = `event.comment.body` string
|
||||
|
||||
#### [`pull_request` event](https://developer.github.com/v3/activity/events/types/#pullrequestevent)
|
||||
### [`pull_request` event](https://developer.github.com/v3/activity/events/types/#pullrequestevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'action' = `event.action` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
|
|
@ -259,6 +290,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'prNumber' = `event.pull_request.number` int
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
@ -270,9 +302,10 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'deletions' = `event.pull_request.deletions` int
|
||||
* 'changedFiles' = `event.pull_request.changed_files` int
|
||||
|
||||
#### [`push` event](https://developer.github.com/v3/activity/events/types/#pushevent)
|
||||
### [`push` event](https://developer.github.com/v3/activity/events/types/#pushevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -280,6 +313,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
@ -287,9 +321,10 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'before' = `event.before` string
|
||||
* 'after' = `event.after` string
|
||||
|
||||
#### [`repository` event](https://developer.github.com/v3/activity/events/types/#repositoryevent)
|
||||
### [`repository` event](https://developer.github.com/v3/activity/events/types/#repositoryevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -297,13 +332,15 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
||||
#### [`release` event](https://developer.github.com/v3/activity/events/types/#releaseevent)
|
||||
### [`release` event](https://developer.github.com/v3/activity/events/types/#releaseevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -311,14 +348,16 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'tagName' = `event.release.tag_name` string
|
||||
|
||||
#### [`status` event](https://developer.github.com/v3/activity/events/types/#statusevent)
|
||||
### [`status` event](https://developer.github.com/v3/activity/events/types/#statusevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -326,15 +365,17 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'commit' = `event.sha` string
|
||||
* 'state' = `event.state` string
|
||||
|
||||
#### [`team_add` event](https://developer.github.com/v3/activity/events/types/#teamaddevent)
|
||||
### [`team_add` event](https://developer.github.com/v3/activity/events/types/#teamaddevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -342,14 +383,16 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
* 'teamName' = `event.team.name` string
|
||||
|
||||
#### [`watch` event](https://developer.github.com/v3/activity/events/types/#watchevent)
|
||||
### [`watch` event](https://developer.github.com/v3/activity/events/types/#watchevent)
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `headers[X-Github-Event]` string
|
||||
* 'repository' = `event.repository.full_name` string
|
||||
* 'private' = `event.repository.private` bool
|
||||
|
|
@ -357,6 +400,7 @@ The tag values and field values show the place on the incoming JSON object where
|
|||
* 'admin' = `event.sender.site_admin` bool
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'stars' = `event.repository.stargazers_count` int
|
||||
* 'forks' = `event.repository.forks_count` int
|
||||
* 'issues' = `event.repository.open_issues_count` int
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@ See the [webhook doc](https://mandrill.zendesk.com/hc/en-us/articles/205583307-M
|
|||
All events for logs the original timestamp, the event name and the unique identifier of the message that generated the event.
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `event.event` string
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'id' = `event._id` string
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ Events from Papertrail come in two forms:
|
|||
|
||||
When a callback is received, an event-based point will look similar to:
|
||||
|
||||
```
|
||||
```shell
|
||||
papertrail,host=myserver.example.com,event=saved_search_name count=1i,source_name="abc",program="CROND",severity="Info",source_id=2i,message="message body",source_ip="208.75.57.121",id=7711561783320576i,facility="Cron",url="https://papertrailapp.com/searches/42?centered_on_id=7711561783320576",search_id=42i 1453248892000000000
|
||||
```
|
||||
|
||||
|
|
@ -41,6 +41,6 @@ papertrail,host=myserver.example.com,event=saved_search_name count=1i,source_nam
|
|||
|
||||
When a callback is received, a count-based point will look similar to:
|
||||
|
||||
```
|
||||
```shell
|
||||
papertrail,host=myserver.example.com,event=saved_search_name count=3i 1453248892000000000
|
||||
```
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
# particle webhooks
|
||||
|
||||
|
||||
You should configure your Particle.io's Webhooks to point at the `webhooks` service. To do this go to [https://console.particle.io](https://console.particle.io/) and click `Integrations > New Integration > Webhook`. In the resulting page set `URL` to `http://<my_ip>:1619/particle`, and under `Advanced Settings` click on `JSON` and add:
|
||||
|
||||
```json
|
||||
|
|
@ -11,22 +10,21 @@ You should configure your Particle.io's Webhooks to point at the `webhooks` serv
|
|||
|
||||
If required, enter your username and password, etc. and then click `Save`
|
||||
|
||||
|
||||
|
||||
## Events
|
||||
|
||||
Your Particle device should publish an event that contains a JSON in the form of:
|
||||
```
|
||||
|
||||
```json
|
||||
String data = String::format("{ \"tags\" : {
|
||||
\"tag_name\": \"tag_value\",
|
||||
\"other_tag\": \"other_value\"
|
||||
\"tag_name\": \"tag_value\",
|
||||
\"other_tag\": \"other_value\"
|
||||
},
|
||||
\"values\": {
|
||||
\"value_name\": %f,
|
||||
\"other_value\": %f,
|
||||
\"values\": {
|
||||
\"value_name\": %f,
|
||||
\"other_value\": %f,
|
||||
}
|
||||
}", value_value, other_value
|
||||
);
|
||||
);
|
||||
Particle.publish("event_name", data, PRIVATE);
|
||||
```
|
||||
|
||||
|
|
@ -35,5 +33,4 @@ The number of tag values and field values is not restricted so you can send as m
|
|||
|
||||
You will need to enable JSON messages in the Webhooks setup of Particle.io, and make sure to check the "include default data" box as well.
|
||||
|
||||
|
||||
See [webhook doc](https://docs.particle.io/reference/webhooks/)
|
||||
|
|
|
|||
|
|
@ -5,19 +5,22 @@ You should configure your Rollbar's Webhooks to point at the `webhooks` service.
|
|||
## Events
|
||||
|
||||
The titles of the following sections are links to the full payloads and details for each event. The body contains what information from the event is persisted. The format is as follows:
|
||||
```
|
||||
|
||||
```toml
|
||||
# TAGS
|
||||
* 'tagKey' = `tagValue` type
|
||||
# FIELDS
|
||||
* 'fieldKey' = `fieldValue` type
|
||||
```
|
||||
|
||||
The tag values and field values show the place on the incoming JSON object where the data is sourced from.
|
||||
|
||||
See [webhook doc](https://rollbar.com/docs/webhooks/)
|
||||
|
||||
#### `new_item` event
|
||||
### `new_item` event
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `event.event_name` string
|
||||
* 'environment' = `event.data.item.environment` string
|
||||
* 'project_id = `event.data.item.project_id` int
|
||||
|
|
@ -25,11 +28,13 @@ See [webhook doc](https://rollbar.com/docs/webhooks/)
|
|||
* 'level' = `event.data.item.last_occurence.level` string
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'id' = `event.data.item.id` int
|
||||
|
||||
#### `occurrence` event
|
||||
### `occurrence` event
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `event.event_name` string
|
||||
* 'environment' = `event.data.item.environment` string
|
||||
* 'project_id = `event.data.item.project_id` int
|
||||
|
|
@ -37,14 +42,17 @@ See [webhook doc](https://rollbar.com/docs/webhooks/)
|
|||
* 'level' = `event.data.occurrence.level` string
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'id' = `event.data.item.id` int
|
||||
|
||||
#### `deploy` event
|
||||
### `deploy` event
|
||||
|
||||
**Tags:**
|
||||
|
||||
* 'event' = `event.event_name` string
|
||||
* 'environment' = `event.data.deploy.environment` string
|
||||
* 'project_id = `event.data.deploy.project_id` int
|
||||
|
||||
**Fields:**
|
||||
|
||||
* 'id' = `event.data.item.id` int
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ The Wireguard input plugin collects statistics on the local Wireguard server
|
|||
using the [`wgctrl`](https://github.com/WireGuard/wgctrl-go) library. It
|
||||
reports gauge metrics for Wireguard interface device(s) and its peers.
|
||||
|
||||
### Configuration
|
||||
## Configuration
|
||||
|
||||
```toml
|
||||
# Collect Wireguard server interface and peer statistics
|
||||
|
|
@ -14,7 +14,7 @@ reports gauge metrics for Wireguard interface device(s) and its peers.
|
|||
# devices = ["wg0"]
|
||||
```
|
||||
|
||||
### Metrics
|
||||
## Metrics
|
||||
|
||||
- `wireguard_device`
|
||||
- tags:
|
||||
|
|
@ -37,9 +37,9 @@ reports gauge metrics for Wireguard interface device(s) and its peers.
|
|||
- `rx_bytes` (int, number of bytes received from this peer)
|
||||
- `tx_bytes` (int, number of bytes transmitted to this peer)
|
||||
|
||||
### Troubleshooting
|
||||
## Troubleshooting
|
||||
|
||||
#### Error: `operation not permitted`
|
||||
### Error: `operation not permitted`
|
||||
|
||||
When the kernelspace implementation of Wireguard is in use (as opposed to its
|
||||
userspace implementations), Telegraf communicates with the module over netlink.
|
||||
|
|
@ -50,22 +50,22 @@ To add this capability to the Telegraf binary (to allow this communication under
|
|||
the default user `telegraf`):
|
||||
|
||||
```bash
|
||||
$ sudo setcap CAP_NET_ADMIN+epi $(which telegraf)
|
||||
sudo setcap CAP_NET_ADMIN+epi $(which telegraf)
|
||||
```
|
||||
|
||||
N.B.: This capability is a filesystem attribute on the binary itself. The
|
||||
attribute needs to be re-applied if the Telegraf binary is rotated (e.g.
|
||||
on installation of new a Telegraf version from the system package manager).
|
||||
|
||||
#### Error: `error enumerating Wireguard devices`
|
||||
### Error: `error enumerating Wireguard devices`
|
||||
|
||||
This usually happens when the device names specified in config are invalid.
|
||||
Ensure that `sudo wg show` succeeds, and that the device names in config match
|
||||
those printed by this command.
|
||||
|
||||
### Example Output
|
||||
## Example Output
|
||||
|
||||
```
|
||||
```shell
|
||||
wireguard_device,host=WGVPN,name=wg0,type=linux_kernel firewall_mark=51820i,listen_port=58216i 1582513589000000000
|
||||
wireguard_device,host=WGVPN,name=wg0,type=linux_kernel peers=1i 1582513589000000000
|
||||
wireguard_peer,device=wg0,host=WGVPN,public_key=NZTRIrv/ClTcQoNAnChEot+WL7OH7uEGQmx8oAN9rWE= allowed_ips=2i,persistent_keepalive_interval_ns=60000000000i,protocol_version=1i 1582513589000000000
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
The wireless plugin gathers metrics about wireless link quality by reading the `/proc/net/wireless` file. This plugin currently supports linux only.
|
||||
|
||||
### Configuration:
|
||||
## Configuration
|
||||
|
||||
```toml
|
||||
# Monitor wifi signal strength and quality
|
||||
|
|
@ -12,7 +12,7 @@ The wireless plugin gathers metrics about wireless link quality by reading the `
|
|||
# host_proc = "/proc"
|
||||
```
|
||||
|
||||
### Metrics:
|
||||
## Metrics
|
||||
|
||||
- metric
|
||||
- tags:
|
||||
|
|
@ -29,10 +29,10 @@ The wireless plugin gathers metrics about wireless link quality by reading the `
|
|||
- misc (int64, packets, counter) - dropped for un-specified reason
|
||||
- missed_beacon (int64, packets, counter) - missed beacon packets
|
||||
|
||||
### Example Output:
|
||||
## Example Output
|
||||
|
||||
This section shows example output in Line Protocol format.
|
||||
|
||||
```
|
||||
```shell
|
||||
wireless,host=example.localdomain,interface=wlan0 misc=0i,frag=0i,link=60i,level=-50i,noise=-256i,nwid=0i,crypt=0i,retry=1525i,missed_beacon=0i,status=0i 1519843022000000000
|
||||
```
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@ file or network connection.
|
|||
|
||||
When using a UDP address as a certificate source, the server must support [DTLS](https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security).
|
||||
|
||||
|
||||
### Configuration
|
||||
## Configuration
|
||||
|
||||
```toml
|
||||
# Reads metrics from a SSL certificate
|
||||
|
|
@ -33,8 +32,7 @@ When using a UDP address as a certificate source, the server must support [DTLS]
|
|||
# tls_server_name = "myhost.example.org"
|
||||
```
|
||||
|
||||
|
||||
### Metrics
|
||||
## Metrics
|
||||
|
||||
- x509_cert
|
||||
- tags:
|
||||
|
|
@ -59,10 +57,9 @@ When using a UDP address as a certificate source, the server must support [DTLS]
|
|||
- startdate (int, seconds)
|
||||
- enddate (int, seconds)
|
||||
|
||||
## Example output
|
||||
|
||||
### Example output
|
||||
|
||||
```
|
||||
```shell
|
||||
x509_cert,common_name=ubuntu,source=/etc/ssl/certs/ssl-cert-snakeoil.pem,verification=valid age=7693222i,enddate=1871249033i,expiry=307666777i,startdate=1555889033i,verification_code=0i 1563582256000000000
|
||||
x509_cert,common_name=www.example.org,country=US,locality=Los\ Angeles,organization=Internet\ Corporation\ for\ Assigned\ Names\ and\ Numbers,organizational_unit=Technology,province=California,source=https://example.org:443,verification=invalid age=20219055i,enddate=1606910400i,expiry=43328144i,startdate=1543363200i,verification_code=1i,verification_error="x509: certificate signed by unknown authority" 1563582256000000000
|
||||
x509_cert,common_name=DigiCert\ SHA2\ Secure\ Server\ CA,country=US,organization=DigiCert\ Inc,source=https://example.org:443,verification=valid age=200838255i,enddate=1678276800i,expiry=114694544i,startdate=1362744000i,verification_code=0i 1563582256000000000
|
||||
|
|
|
|||
|
|
@ -5,7 +5,8 @@ This plugin implements the Zipkin http server to gather trace and timing data ne
|
|||
*Please Note: This plugin is experimental; Its data schema may be subject to change
|
||||
based on its main usage cases and the evolution of the OpenTracing standard.*
|
||||
|
||||
## Configuration:
|
||||
## Configuration
|
||||
|
||||
```toml
|
||||
[[inputs.zipkin]]
|
||||
path = "/api/v1/spans" # URL path for span data
|
||||
|
|
@ -15,7 +16,7 @@ based on its main usage cases and the evolution of the OpenTracing standard.*
|
|||
The plugin accepts spans in `JSON` or `thrift` if the `Content-Type` is `application/json` or `application/x-thrift`, respectively.
|
||||
If `Content-Type` is not set, then the plugin assumes it is `JSON` format.
|
||||
|
||||
## Tracing:
|
||||
## Tracing
|
||||
|
||||
This plugin uses Annotations tags and fields to track data from spans
|
||||
|
||||
|
|
@ -28,93 +29,106 @@ Traces are built by collecting all Spans that share a traceId.
|
|||
|
||||
Annotations may have the following values:
|
||||
|
||||
- __CS (client start):__ beginning of span, request is made.
|
||||
- __SR (server receive):__ server receives request and will start processing it
|
||||
- __CS (client start):__ beginning of span, request is made.
|
||||
- __SR (server receive):__ server receives request and will start processing it
|
||||
network latency & clock jitters differ it from cs
|
||||
- __SS (server send):__ server is done processing and sends request back to client
|
||||
- __SS (server send):__ server is done processing and sends request back to client
|
||||
amount of time it took to process request will differ it from sr
|
||||
- __CR (client receive):__ end of span, client receives response from server
|
||||
- __CR (client receive):__ end of span, client receives response from server
|
||||
RPC is considered complete with this annotation
|
||||
|
||||
### Tags
|
||||
* __"id":__ The 64 bit ID of the span.
|
||||
* __"parent_id":__ An ID associated with a particular child span. If there is no child span, the parent ID is set to ID.
|
||||
* __"trace_id":__ The 64 or 128-bit ID of a particular trace. Every span in a trace shares this ID. Concatenation of high and low and converted to hexadecimal.
|
||||
* __"name":__ Defines a span
|
||||
|
||||
##### Annotations have these additional tags:
|
||||
- __"id":__ The 64 bit ID of the span.
|
||||
- __"parent_id":__ An ID associated with a particular child span. If there is no child span, the parent ID is set to ID.
|
||||
- __"trace_id":__ The 64 or 128-bit ID of a particular trace. Every span in a trace shares this ID. Concatenation of high and low and converted to hexadecimal.
|
||||
- __"name":__ Defines a span
|
||||
|
||||
* __"service_name":__ Defines a service
|
||||
* __"annotation":__ The value of an annotation
|
||||
* __"endpoint_host":__ Listening port concat with IPV4, if port is not present it will not be concatenated
|
||||
#### Annotations have these additional tags
|
||||
|
||||
##### Binary Annotations have these additional tag:
|
||||
- __"service_name":__ Defines a service
|
||||
- __"annotation":__ The value of an annotation
|
||||
- __"endpoint_host":__ Listening port concat with IPV4, if port is not present it will not be concatenated
|
||||
|
||||
* __"service_name":__ Defines a service
|
||||
* __"annotation":__ The value of an annotation
|
||||
* __"endpoint_host":__ Listening port concat with IPV4, if port is not present it will not be concatenated
|
||||
* __"annotation_key":__ label describing the annotation
|
||||
#### Binary Annotations have these additional tag
|
||||
|
||||
- __"service_name":__ Defines a service
|
||||
- __"annotation":__ The value of an annotation
|
||||
- __"endpoint_host":__ Listening port concat with IPV4, if port is not present it will not be concatenated
|
||||
- __"annotation_key":__ label describing the annotation
|
||||
|
||||
### Fields:
|
||||
* __"duration_ns":__ The time in nanoseconds between the end and beginning of a span.
|
||||
## Fields
|
||||
|
||||
- __"duration_ns":__ The time in nanoseconds between the end and beginning of a span.
|
||||
|
||||
|
||||
### Sample Queries:
|
||||
## Sample Queries
|
||||
|
||||
__Get All Span Names for Service__ `my_web_server`
|
||||
|
||||
```sql
|
||||
SHOW TAG VALUES FROM "zipkin" with key="name" WHERE "service_name" = 'my_web_server'
|
||||
```
|
||||
- __Description:__ returns a list containing the names of the spans which have annotations with the given `service_name` of `my_web_server`.
|
||||
|
||||
__Get All Service Names__
|
||||
- __Description:__ returns a list containing the names of the spans which have annotations with the given `service_name` of `my_web_server`.
|
||||
|
||||
-__Get All Service Names__-
|
||||
|
||||
```sql
|
||||
SHOW TAG VALUES FROM "zipkin" WITH KEY = "service_name"
|
||||
```
|
||||
- __Description:__ returns a list of all `distinct` endpoint service names.
|
||||
|
||||
__Find spans with longest duration__
|
||||
- __Description:__ returns a list of all `distinct` endpoint service names.
|
||||
|
||||
-__Find spans with longest duration__-
|
||||
|
||||
```sql
|
||||
SELECT max("duration_ns") FROM "zipkin" WHERE "service_name" = 'my_service' AND "name" = 'my_span_name' AND time > now() - 20m GROUP BY "trace_id",time(30s) LIMIT 5
|
||||
```
|
||||
- __Description:__ In the last 20 minutes find the top 5 longest span durations for service `my_server` and span name `my_span_name`
|
||||
|
||||
- __Description:__ In the last 20 minutes find the top 5 longest span durations for service `my_server` and span name `my_span_name`
|
||||
|
||||
### Recommended InfluxDB setup
|
||||
|
||||
This test will create high cardinality data so we recommend using the [tsi influxDB engine](https://www.influxdata.com/path-1-billion-time-series-influxdb-high-cardinality-indexing-ready-testing/).
|
||||
|
||||
#### How To Set Up InfluxDB For Work With Zipkin
|
||||
|
||||
##### Steps
|
||||
1. ___Update___ InfluxDB to >= 1.3, in order to use the new tsi engine.
|
||||
##### Steps
|
||||
|
||||
2. ___Generate___ a config file with the following command:
|
||||
```sh
|
||||
influxd config > /path/for/config/file
|
||||
```
|
||||
3. ___Add___ the following to your config file, under the `[data]` tab:
|
||||
```toml
|
||||
[data]
|
||||
index-version = "tsi1"
|
||||
```
|
||||
1. ___Update___ InfluxDB to >= 1.3, in order to use the new tsi engine.
|
||||
|
||||
4. ___Start___ `influxd` with your new config file:
|
||||
```sh
|
||||
influxd -config=/path/to/your/config/file
|
||||
```
|
||||
2. ___Generate___ a config file with the following command:
|
||||
|
||||
5. ___Update___ your retention policy:
|
||||
```sql
|
||||
ALTER RETENTION POLICY "autogen" ON "telegraf" DURATION 1d SHARD DURATION 30m
|
||||
```
|
||||
```sh
|
||||
influxd config > /path/for/config/file
|
||||
```
|
||||
|
||||
### Example Input Trace:
|
||||
3. ___Add___ the following to your config file, under the `[data]` tab:
|
||||
|
||||
```toml
|
||||
[data]
|
||||
index-version = "tsi1"
|
||||
```
|
||||
|
||||
4. ___Start___ `influxd` with your new config file:
|
||||
|
||||
```sh
|
||||
influxd -config=/path/to/your/config/file
|
||||
```
|
||||
|
||||
5. ___Update___ your retention policy:
|
||||
|
||||
```sql
|
||||
ALTER RETENTION POLICY "autogen" ON "telegraf" DURATION 1d SHARD DURATION 30m
|
||||
```
|
||||
|
||||
### Example Input Trace
|
||||
|
||||
- [Cli microservice with two services Test](https://github.com/openzipkin/zipkin-go-opentracing/tree/master/examples/cli_with_2_services)
|
||||
- [Test data from distributed trace repo sample json](https://github.com/mattkanwisher/distributedtrace/blob/master/testclient/sample.json)
|
||||
|
||||
#### [Trace Example from Zipkin model](http://zipkin.io/pages/data_model.html)
|
||||
|
||||
```json
|
||||
{
|
||||
"traceId": "bd7a977555f6b982",
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
The zookeeper plugin collects variables outputted from the 'mntr' command
|
||||
[Zookeeper Admin](https://zookeeper.apache.org/doc/current/zookeeperAdmin.html).
|
||||
|
||||
### Configuration
|
||||
## Configuration
|
||||
|
||||
```toml
|
||||
# Reads 'mntr' stats from one or many zookeeper servers
|
||||
|
|
@ -27,7 +27,7 @@ The zookeeper plugin collects variables outputted from the 'mntr' command
|
|||
# insecure_skip_verify = true
|
||||
```
|
||||
|
||||
### Metrics:
|
||||
## Metrics
|
||||
|
||||
Exact field names are based on Zookeeper response and may vary between
|
||||
configuration, platform, and version.
|
||||
|
|
@ -56,9 +56,10 @@ configuration, platform, and version.
|
|||
- synced_followers (integer, leader only)
|
||||
- pending_syncs (integer, leader only)
|
||||
|
||||
### Debugging:
|
||||
## Debugging
|
||||
|
||||
If you have any issues please check the direct Zookeeper output using netcat:
|
||||
|
||||
```sh
|
||||
$ echo mntr | nc localhost 2181
|
||||
zk_version 3.4.9-3--1, built on Thu, 01 Jun 2017 16:26:44 -0700
|
||||
|
|
@ -78,8 +79,8 @@ zk_open_file_descriptor_count 44
|
|||
zk_max_file_descriptor_count 4096
|
||||
```
|
||||
|
||||
### Example Output
|
||||
## Example Output
|
||||
|
||||
```
|
||||
```shell
|
||||
zookeeper,server=localhost,port=2181,state=standalone ephemerals_count=0i,approximate_data_size=10044i,open_file_descriptor_count=44i,max_latency=0i,packets_received=7i,outstanding_requests=0i,znode_count=129i,max_file_descriptor_count=4096i,version="3.4.9-3--1",avg_latency=0i,packets_sent=6i,num_alive_connections=1i,watch_count=0i,min_latency=0i 1522351112000000000
|
||||
```
|
||||
|
|
|
|||
Loading…
Reference in New Issue