Skip to content
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

example: elasticsearch, kibana, and filebeat ~elk #272

Merged
merged 4 commits into from
Sep 20, 2016
Merged

Conversation

ryane
Copy link
Contributor

@ryane ryane commented Sep 20, 2016

No description provided.

@ryane ryane added the example label Sep 20, 2016
@@ -0,0 +1,46 @@
# converge-elk

A Converge example that sets up a single node docker-based [ELK](https://www.elastic.co/webinars/introduction-elk-stack) stack.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe could you explain what "ELK" stands for the first time you use it?


### Vagrant

In the [Vagrantfile](./Vagrantfile), change the file provisioner source to point to a version of the converge binary built with the `linux/amd64` OS architecture.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you provide step-by-step instructions? Like:

  1. Browse to the releases page (w/ link)
  2. Unzip it to x/y/z
  3. Point configValue to x/y/z

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better yet, could the code in this example be extended to do that for the user? The fewer steps the better!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we'll want to update this again when https://github.com/ChrisAubuchon/vagrant-converge is ready but I went ahead and scripted out the converge download as part of vagrant provisioning. now you only have to run vagrant up.

@BrianHicks BrianHicks added this to the 0.2.0-beta2 milestone Sep 20, 2016
After provisioning completes, you should be able to access the url for the Kibana interface by running:

```shell
echo "http://$(terraform output ip):5601/"
Copy link
Contributor

@BrianHicks BrianHicks Sep 20, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this using echo? That won't open a browser or anything.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know. It is just a command that provides an easy way to access the full url for kibana so that you can paste it in your browser. Would changing the sentence above to something like

"After provisioning completes, you should be able to retrieve the url for the Kibana interface by running:"

make it more clear?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My email got lost, looks like. Yes, that sounds perfect!

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nope, not lost but I guess you do lose the position in the thread when replying via email


## Graphs

![elk graph](./graphs/elk.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need an explanation of this graphic, please

@BrianHicks
Copy link
Contributor

Yeah, that would be perfect!

On 20 Sep 2016, at 8:46, Ryan Eschinger wrote:

ryane commented on this pull request.

+$ cat ~/.terraformrc
+provisioners {

  • converge = "/path/to/terraform-provisioner-converge"
    +}
    +`

+You must have also set valid AWS
credentials

(AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY) in your environment.
Then you can run:
+
+ +terraform apply +
+
+After provisioning completes, you should be able to access the url
for the Kibana interface by running:
+
+`shell
+echo "http://$(terraform output ip):5601/"

I know. It is just a command that provides an easy way to access the
full url for kibana so that you can paste it in your browser. Would
changing the sentence above to something like

"After provisioning completes, you should be able to retrieve the url
for the Kibana interface by running:"

make it more clear?

You are receiving this because you commented.
Reply to this email directly or view it on GitHub:
#272

@ryane
Copy link
Contributor Author

ryane commented Sep 20, 2016

I believe all comments were addressed. ready for review again

Copy link
Contributor

@BrianHicks BrianHicks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just one more thing!

params = {
user-name = "{{param `user-name`}}"
}
depends = ["module.packages/task.epel-install"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

depending on a task inside another module is unsupported. It works, but it probably won't in the future. I thought we had disallowed it, actually. Depending on module.packages gets you the same result.

task "filebeat-install" {
check = "yum list installed filebeat"
apply = "rpm -ivh https://download.elastic.co/beats/filebeat/filebeat-1.3.0-x86_64.rpm"
depends = ["module.docker/task.docker-install"]
Copy link
Contributor

@BrianHicks BrianHicks Sep 20, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be module.docker too

docker.image "elasticsearch-image" {
name = "elasticsearch"
tag = "2.4.0"
depends = ["module.docker/task.docker-start"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

module.docker

docker.image "kibana-image" {
name = "kibana"
tag = "4.6.0"
depends = ["module.docker/task.docker-start"]
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

module.docker.

These will clean up your graph as well.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed, tested, and updated graph image

@ryane
Copy link
Contributor Author

ryane commented Sep 20, 2016

all green

@ryane ryane merged commit 749ae0d into master Sep 20, 2016
@ryane ryane deleted the feature/example-elk branch September 20, 2016 15:41
BrianHicks pushed a commit that referenced this pull request Dec 22, 2016
example: elasticsearch, kibana, and filebeat ~elk
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants