/blog-sample

a kind of blog implementation written in Go integrated with fluentd and Elasticsearch

Primary LanguageGoMIT LicenseMIT

blog sample

Build Status

A kind of blog for presentating EFK stack features.

  • Write, view and search blog posts.
  • Sing up, Login. Session is based on cookie.
  • Collect page views and search logs into Elasticsearch via fluentd in Real-Time.
  • Of course, you can view and analyze user actions in Elasticsearch and Kibana.

This repository includes following.

Prerequisite

  • Docker

For local development,

  • Go (>= 1.8)
  • sqlite3

Using Docker: make run

If you using docker, it's easy to work with Elastic stack and fluentd!

# running docker containers by `docker-compose up -d`
make run

At the first time, docker-compose start creating containers. After starting containers, it's time to access Elasticsearch.

$ curl http://localhost:9200
{
  "name" : "o2r0AqN",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "KoAk04RXRbSx3wgLiB_LtA",
  "version" : {
    "number" : "5.4.3",
    "build_hash" : "eed30a8",
    "build_date" : "2017-06-22T00:34:03.743Z",
    "build_snapshot" : false,
    "lucene_version" : "6.5.1"
  },
  "tagline" : "You Know, for Search"
}

It works! And your Kibana console is also available on http://localhost:5601. If Elasticsearch is accecible, blog application can start up.

For contributor

To start a blog application locally, you just go run

go run main.go

To add some external packages, use godep. If you want to use Elasticsearch and/or Fluentd on docker container, you can specify each host via flag. When blog app running on container, Elasticsearch and Fluentd are accessed by using docker links.

Acknowledgement

UI Template is based on BlackrockDigital/startbootstrap-blog-post.

LICENSE

MIT

Author

Kenta Suzuki (a.k.a. suzuken)