-
Notifications
You must be signed in to change notification settings - Fork 713
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
User-facing documentation for Logstash on ECK #6743
Merged
Merged
Changes from 44 commits
Commits
Show all changes
53 commits
Select commit
Hold shift + click to select a range
47beb32
Initial Commit of Basic Operator for Logstash (#6404)
robbavey fa2b9e5
Stack monitoring for Logstash (#6436)
kaisecheng 450e61c
Merge remote-tracking branch 'upstream/main' into feature/logstash
robbavey 7ce5d9a
Logstash pipelines (#6480)
kaisecheng a930555
Merge remote-tracking branch 'upstream/main' into feature/logstash
robbavey 797f1c9
Logstash controller unit and integration tests (#6575)
robbavey f984355
Logstash - add ability to reload pipeline(s) without triggering full …
robbavey adca107
Add Logstash Telemetry (#6562)
robbavey 2b22aee
Fix service tests (#6720)
robbavey 69b5ef9
Logstash add ElasticsearchRefs (#6662)
kaisecheng 5811a64
Merge remote-tracking branch 'upstream/main' into feature/logstash
robbavey 169f79d
Update all-crds.yml
robbavey f03aa79
Fix the sample tests for logstash service and stack monitoring (#6731)
robbavey ba98590
Update pkg/apis/logstash/v1alpha1/logstash_types.go
robbavey c1930a2
Add comment to `clusterName`
robbavey 4186efb
Regenerate after comments
robbavey 0b7a58a
First pass
robbavey 4f1b102
Added more logstash docs
robbavey b2e00d4
Add Logstash Recipes
robbavey 90683af
Tidy up readme
robbavey 9ecb8cd
Added more doc
robbavey d14faf0
Improvements
robbavey f9ba1ff
add recipes for ElasticsearchRefs
kaisecheng 38de4dd
Responded to code review comments
robbavey a29d9f0
Updates for elasticsearchRef. A little tidying
robbavey f07d6ce
Add role information to elasticsearch integration
robbavey 2f45d19
Fix env variable names in example snippets
robbavey add2f2c
Fix recipes
robbavey 7aa2a6c
Add intro to elasticsearchref example
robbavey 5872086
Remove duplicate recipe reference.
robbavey 6ceb4f9
Add the new file to the landing page
alaudazzi e98acfe
Apply suggestions from code review
robbavey 301a554
Tidy up recipes after code review comments
robbavey 232d61b
More code review suggestions
robbavey c3b9007
Missed capitalization
robbavey 353cac7
Merge remote-tracking branch 'upstream/main' into logstash_doc
robbavey c0b8715
Apply suggestions from code review
robbavey 4cbc1d9
Reformatting changes
robbavey 2364f6b
Add close to [NOTE]
robbavey a626eaa
Add anchors to examples, point ES role note to point to specific example
robbavey 0ddfbda
Add reference to logstash-multi.yaml to readme
robbavey 3a5e530
Add Logstash references to parts of the doc where other stack compone…
robbavey 00b91b7
Fix uses of logstash constant
robbavey 18453d4
Simplify multi.yaml recipe
robbavey 81b1812
Apply suggestions from code review
robbavey 3ba64b9
Updated based on code review comments.
robbavey 7787e33
Apply suggestions from code review
robbavey 957b3ce
Merge branch 'logstash_doc' of https://github.com/robbavey/cloud-on-k…
karenzone 566242d
Reformat limitations
karenzone 66f90bd
Merge remote-tracking branch 'upstream/main' into logstash_doc
robbavey b9683e7
Merge remote-tracking branch 'origin/logstash_doc' into logstash_doc
robbavey 8c7ea13
Add 'experimental' header to child pages
robbavey 6f12385
Apply suggestions from code review
robbavey File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
--- | ||
apiVersion: elasticsearch.k8s.elastic.co/v1 | ||
kind: Elasticsearch | ||
metadata: | ||
name: elasticsearch | ||
spec: | ||
version: 8.7.0 | ||
nodeSets: | ||
- name: default | ||
count: 3 | ||
config: | ||
# This setting has performance implications. See the README for more details. | ||
node.store.allow_mmap: false | ||
--- | ||
apiVersion: kibana.k8s.elastic.co/v1 | ||
kind: Kibana | ||
metadata: | ||
name: kibana | ||
spec: | ||
version: 8.7.0 | ||
count: 1 | ||
elasticsearchRef: | ||
name: elasticsearch | ||
--- | ||
apiVersion: beat.k8s.elastic.co/v1beta1 | ||
kind: Beat | ||
metadata: | ||
name: filebeat | ||
spec: | ||
type: filebeat | ||
version: 8.7.0 | ||
config: | ||
filebeat.inputs: | ||
- type: log | ||
paths: | ||
- /data/logstash-tutorial.log | ||
output.logstash: | ||
hosts: ["logstash-ls-api.default.svc:5044"] | ||
robbavey marked this conversation as resolved.
Show resolved
Hide resolved
|
||
deployment: | ||
podTemplate: | ||
spec: | ||
automountServiceAccountToken: true | ||
initContainers: | ||
- name: download-tutorial | ||
image: curlimages/curl | ||
command: ["/bin/sh"] | ||
args: ["-c", "curl -L https://download.elastic.co/demos/logstash/gettingstarted/logstash-tutorial.log.gz | gunzip -c > /data/logstash-tutorial.log"] | ||
volumeMounts: | ||
- name: data | ||
mountPath: /data | ||
containers: | ||
- name: filebeat | ||
volumeMounts: | ||
- name: data | ||
mountPath: /data | ||
- name: beat-data | ||
mountPath: /usr/share/filebeat/data | ||
volumes: | ||
- name: data | ||
emptydir: {} | ||
- name: beat-data | ||
emptydir: {} | ||
--- | ||
apiVersion: logstash.k8s.elastic.co/v1alpha1 | ||
kind: Logstash | ||
metadata: | ||
name: logstash | ||
spec: | ||
count: 1 | ||
version: 8.7.0 | ||
elasticsearchRefs: | ||
- clusterName: eck | ||
name: elasticsearch | ||
pipelines: | ||
- pipeline.id: main | ||
config.string: | | ||
input { | ||
beats { | ||
port => 5044 | ||
} | ||
} | ||
filter { | ||
grok { | ||
match => { "message" => "%{HTTPD_COMMONLOG}"} | ||
} | ||
geoip { | ||
source => "[source][address]" | ||
target => "[source]" | ||
} | ||
} | ||
output { | ||
elasticsearch { | ||
hosts => [ "${ECK_ES_HOSTS}" ] | ||
user => "${ECK_ES_USER}" | ||
password => "${ECK_ES_PASSWORD}" | ||
cacert => "${ECK_ES_SSL_CERTIFICATE_AUTHORITY}" | ||
} | ||
} | ||
services: | ||
- name: beats | ||
service: | ||
spec: | ||
type: ClusterIP | ||
ports: | ||
- port: 5044 | ||
name: "filebeat" | ||
protocol: TCP | ||
targetPort: 5044 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
kind: Secret | ||
apiVersion: v1 | ||
metadata: | ||
name: my-roles-secret | ||
stringData: | ||
roles.yml: |- | ||
eck_logstash_user_role: | ||
cluster: [ "monitor", "manage_ilm", "read_ilm", "manage_logstash_pipelines", "manage_index_templates", "cluster:admin/ingest/pipeline/get"] | ||
indices: | ||
- names: [ "my-index", "logstash", "logstash-*", "ecs-logstash", "ecs-logstash-*", "logs-*", "metrics-*", "synthetics-*", "traces-*" ] | ||
privileges: [ "manage", "write", "create_index", "read", "view_index_metadata" ] | ||
--- | ||
apiVersion: elasticsearch.k8s.elastic.co/v1 | ||
kind: Elasticsearch | ||
metadata: | ||
name: elasticsearch | ||
spec: | ||
version: 8.7.0 | ||
auth: | ||
roles: | ||
- secretName: my-roles-secret | ||
nodeSets: | ||
- name: default | ||
count: 3 | ||
config: | ||
node.store.allow_mmap: false | ||
--- | ||
apiVersion: logstash.k8s.elastic.co/v1alpha1 | ||
kind: Logstash | ||
metadata: | ||
name: logstash | ||
spec: | ||
count: 1 | ||
version: 8.7.0 | ||
elasticsearchRefs: | ||
- name: elasticsearch | ||
clusterName: eck | ||
pipelines: | ||
- pipeline.id: main | ||
config.string: | | ||
input { exec { command => "uptime" interval => 10 } } | ||
output { | ||
elasticsearch { | ||
hosts => [ "${ECK_ES_HOSTS}" ] | ||
ssl => true | ||
cacert => "${ECK_ES_SSL_CERTIFICATE_AUTHORITY}" | ||
user => "${ECK_ES_USER}" | ||
password => "${ECK_ES_PASSWORD}" | ||
index => "my-index" | ||
data_stream => false | ||
ilm_enabled => false | ||
manage_template => false | ||
} | ||
} | ||
--- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,134 @@ | ||
--- | ||
apiVersion: elasticsearch.k8s.elastic.co/v1 | ||
kind: Elasticsearch | ||
metadata: | ||
name: elasticsearch | ||
spec: | ||
version: 8.7.0 | ||
nodeSets: | ||
- name: default | ||
count: 3 | ||
config: | ||
# This setting has performance implications. See the README for more details. | ||
node.store.allow_mmap: false | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. optional: it will be great to also see elasticsearch and kibana metrics in stack monitoring. This also makes sure Logstash metrics show in UI |
||
--- | ||
apiVersion: kibana.k8s.elastic.co/v1 | ||
kind: Kibana | ||
metadata: | ||
name: kibana | ||
spec: | ||
version: 8.7.0 | ||
count: 1 | ||
elasticsearchRef: | ||
name: elasticsearch | ||
--- | ||
apiVersion: beat.k8s.elastic.co/v1beta1 | ||
kind: Beat | ||
metadata: | ||
name: filebeat | ||
spec: | ||
type: filebeat | ||
version: 8.7.0 | ||
config: | ||
filebeat.inputs: | ||
- type: log | ||
paths: | ||
- /data/logstash-tutorial.log | ||
output.logstash: | ||
hosts: ["logstash-ls-api.default.svc:5044"] | ||
robbavey marked this conversation as resolved.
Show resolved
Hide resolved
|
||
deployment: | ||
podTemplate: | ||
spec: | ||
automountServiceAccountToken: true | ||
initContainers: | ||
- name: download-tutorial | ||
image: curlimages/curl | ||
command: ["/bin/sh"] | ||
args: ["-c", "curl -L https://download.elastic.co/demos/logstash/gettingstarted/logstash-tutorial.log.gz | gunzip -c > /data/logstash-tutorial.log"] | ||
volumeMounts: | ||
- name: data | ||
mountPath: /data | ||
containers: | ||
- name: filebeat | ||
volumeMounts: | ||
- name: data | ||
mountPath: /data | ||
- name: beat-data | ||
mountPath: /usr/share/filebeat/data | ||
volumes: | ||
- name: data | ||
emptydir: {} | ||
- name: beat-data | ||
emptydir: {} | ||
--- | ||
apiVersion: logstash.k8s.elastic.co/v1alpha1 | ||
kind: Logstash | ||
metadata: | ||
name: logstash | ||
spec: | ||
count: 1 | ||
version: 8.7.0 | ||
elasticsearchRefs: | ||
- clusterName: eck | ||
name: elasticsearch | ||
monitoring: | ||
metrics: | ||
elasticsearchRefs: | ||
- name: elasticsearch-monitoring | ||
pipelines: | ||
- pipeline.id: main | ||
config.string: | | ||
input { | ||
beats { | ||
port => 5044 | ||
} | ||
} | ||
filter { | ||
grok { | ||
match => { "message" => "%{HTTPD_COMMONLOG}"} | ||
} | ||
geoip { | ||
source => "[source][address]" | ||
target => "[source]" | ||
} | ||
} | ||
output { | ||
elasticsearch { | ||
hosts => [ "${ECK_ES_HOSTS}" ] | ||
user => "${ECK_ES_USER}" | ||
password => "${ECK_ES_PASSWORD}" | ||
cacert => "${ECK_ES_SSL_CERTIFICATE_AUTHORITY}" | ||
} | ||
} | ||
services: | ||
- name: beats | ||
service: | ||
spec: | ||
type: ClusterIP | ||
ports: | ||
- port: 5044 | ||
name: "filebeat" | ||
protocol: TCP | ||
targetPort: 5044 | ||
--- | ||
apiVersion: elasticsearch.k8s.elastic.co/v1 | ||
kind: Elasticsearch | ||
metadata: | ||
name: elasticsearch-monitoring | ||
spec: | ||
version: 8.7.0 | ||
nodeSets: | ||
- name: default | ||
count: 3 | ||
config: | ||
node.store.allow_mmap: false | ||
--- | ||
apiVersion: kibana.k8s.elastic.co/v1 | ||
kind: Kibana | ||
metadata: | ||
name: kibana-monitoring | ||
spec: | ||
version: 8.7.0 | ||
count: 1 | ||
elasticsearchRef: | ||
name: elasticsearch-monitoring |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we also add a section for
logstash-multi.yaml
?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good spot! I didn't realize it hadn't been added to the readme.
Done
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🙈 Refreshed the page but I still don't see it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry, missed a
git push
🤦♂️