Permalink
Browse files

Merge branch 'master' of github.com:jordansissel/experiments

  • Loading branch information...
2 parents fbcaf79 + e2cbf52 commit 6896dcc2f1107f0bbea07f23cf8e5271d7a12189 @jordansissel committed Aug 12, 2012
View
@@ -99,8 +99,13 @@ int main(int argc, char **argv) {
break;
}
char foo[] = "GET / HTTP/1.1\r\nHost: google.com\r\n\r\n";
+
+ /* Many openssl examples use BIO wrappings of SSL instances, meh, I just go
+ * direct. Using BIO methods instead is useful if you want want to have
+ * configurable code use or not use SSL encryption */
SSL_write(ssl, foo, strlen(foo));
+ BIO_new
char buf[1024];
int bytes;
bytes = SSL_read(ssl, buf, 1024);
View
@@ -37,6 +37,7 @@ int main(int argc, char *argv[]) {
}
printf("client addr type, len: %d, %d\n", client->sa_family, client_addr_len);
printf("Got: '%.*s\n", len, buf);
+ perror("recvfrom");
close(fd);
unlink(addr.sun_path);
}
View
@@ -1,5 +0,0 @@
-%.6: %.go
- 6g $<
-
-%: %.6
- 6l -o $@ $<
View
@@ -1,20 +0,0 @@
-# go + unix datagram == :(
-
-## Example
-
-* Note: to send a message to this socket, on linux, use `logger -du /tmp/example.sock hello world`
-
- % rm /tmp/example.sock; strace -e trace=socket,connect,recvfrom,open ./example
- socket(PF_FILE, SOCK_DGRAM, 0) = 3
- recvfrom(3, 0xf84006e000, 4096, 0, 0xf840000150, 0xf8400490a0) = -1 EAGAIN (Resource temporarily unavailable)
- recvfrom(3, "<5>Jul 27 23:21:39 jls: hello\0", 4096, 0, {sa_family=AF_UNSPEC, sa_data="\0\0\0\0\0\0\0\0\0\0\0\0\0\0"}, [0]) = 30
- conn.ReadFrom error: read unixgram /tmp/example.sock: address family not supported by protocol
- +++ exited with 0 +++
-
-## Conclusion
-
-The error from conn.ReadFrom fails, yet strace reveals that the recvfrom(2) call is successful.
-
-There's a bug somewhere in Go, here. Some likely problems:
-
-* net.ListenUnixgram returns, quite confusingly, a UDPConn, shouldn't this return a UnixConn?
View
@@ -1,28 +0,0 @@
-package main
-
-import (
- "fmt"
- "os"
- "net"
-)
-
-func main() {
- path := "/tmp/example.sock"
- addr, err := net.ResolveUnixAddr("unixgram", path)
- if err != nil { fmt.Printf("ResolveUnixAddr err: %s\n", err); return }
- conn, err := net.ListenUnixgram("unixgram", addr)
- if err != nil { fmt.Printf("ListenUnixgram err: %s\n", err); return }
-
- // Ensure world writable access
- os.Chmod(path, 0666)
-
- data := make([]byte, 4096)
-
- length, _, err := conn.ReadFrom(data)
- if err != nil {
- fmt.Printf("conn.ReadFrom error: %s\n", err)
- return
- }
-
- fmt.Printf("Got: %d bytes\n", length)
-}
@@ -1,24 +1,7 @@
-# About Logstash
-## Goals
-## History
-## Users and Community
-
-# Logging, in General
-## Types of Logs
- * trace and debugging
- * accounting
- * transaction
-## Emitting
- * Application
-## Transport
- * Network
-## Analytics
- * CPU
-## Retention
- * Storage
-
# Specific Problems
+
## Unstructured Data
+
## Multiline
# Integration
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

Large diffs are not rendered by default.

Oops, something went wrong.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,32 @@
+!SLIDE transition=fade
+# life of a log
+
+Four main phases
+
+!SLIDE transition=fade
+# Emitting
+
+* Application records something.
+* `logger.error("mysql is busted, yo!")`
+
+!SLIDE transition=fade
+# Transport
+
+* Ship application logs somewhere
+* Possibly anonymize them in transit.
+* syslog, scribe, flume, etc
+
+!SLIDE transition=fade
+# Analytics
+
+* Search and Analysis
+* Tools: Hadoop, ElasticSearch, Graphite, etc
+
+!SLIDE transition=fade
+# Storage
+
+* HDFS, S3, Sherpa, etc.
+* How much can you store?
+* How much do you need to store?
+
+
@@ -0,0 +1,39 @@
+!SLIDE transition=fade
+# about logstash
+
+as a an open source project
+
+!SLIDE transition=fade
+# Community
+
+* Everyone can contribute
+* Focus on reducing cost-to-implement
+* Apache 2.0 license
+
+!SLIDE transition=fade
+# Strong History and Future
+
+* project is roughly 3 years old
+* backwards compatibility promise
+* rapidly growing community
+
+!SLIDE transition=fade
+# Community Involvement
+
+* 80 authors in git
+* 150 folks on IRC
+* 250 users on Jira
+* 430 folks on logstash-users
+
+!SLIDE transition=fade
+# Community
+
+* kibana (web/analytics ui)
+* logstash-cli
+
+!SLIDE transition=fade
+# Users
+
+* 2000 deployments
+* Many with > 10,000 events/sec
+* Many with > 1TB/day
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@@ -0,0 +1,58 @@
+!SLIDE transition=fade
+
+![logstash](/image/logstash.png)
+
+So how does logstash fit in?
+
+.notes TODO
+
+!SLIDE transition=fade incremental
+# Goals
+
+* Tooling for managing log lifecycle
+* Take events.
+* Massage them.
+* Put them somewhere else.
+* Don't be annoying.
+
+!SLIDE transition=fade incremental
+# logstash agent
+
+inputs | filters | outputs
+
+!SLIDE transition=fade incremental
+# logstash agent
+
+* move logs
+* process logs
+
+!SLIDE transition=fade incremental
+# logstash agent - inputs
+
+* inputs are sources of events.
+* 23 input plugins today.
+* files, syslog, log4j, xmpp, irc, etc
+
+!SLIDE transition=fade incremental
+# logstash agent - filters
+
+* filters let you modify/drop events
+* 18 filter plugins today.
+* date parsing, text parsing, anonymization
+* multiline merging, etc
+
+!SLIDE transition=fade incremental
+# logstash agent - outputs
+
+* outputs let you send events outside the agent
+* 40 output plugins today.
+* storage, graphing systems, monitoring systems, transportation
+
+!SLIDE transition=fade incremental
+# logstash agent - common example
+
+* file input (log files)
+* grok filter (parse structure out of plain text logs)
+* elasticsearch output (for search/analytics)
+* graphite output (for trending/graphing of metrics in logs)
+* nagios output (for alerting on log errors)
@@ -1,18 +0,0 @@
-!SLIDE transition=slideright
-# My Presentation #
-
-!SLIDE transition=scrollDown
-# Bullet Points #
-
-.notes line one
-line two
-
-* first point
-* second point
-* third point
-
-!SLIDE commandline transition=scrollUp
-
-$ hello
-world
-foo
@@ -1 +1,12 @@
-{ "name": "My Preso", "sections": [ {"section":"one"} ]}
+{
+ "name": "logs and logstash",
+ "sections": [
+ { "section": "title" },
+ { "section": "intro-logging-problems" },
+ { "section": "terminology" },
+ { "section": "life-of-a-log" },
+ { "section": "logstash" },
+ { "section": "use-cases" },
+ { "section": "logstash-about" }
+ ]
+}
@@ -0,0 +1,20 @@
+#preso {
+}
+
+.slide, #preso {
+ background-color: black;
+ color: #F6FFA3;
+}
+
+/* Make first slide have the logstash mascot */
+.slide:nth-child(1) {
+ background-image: url("/image/logstash.png");
+ background-repeat: no-repeat;
+ background-position: right bottom;
+}
+
+.mascot {
+ height: 50%;
+ background-image: url("/image/logstash.png");
+ background-repeat: no-repeat;
+}
@@ -0,0 +1,68 @@
+!SLIDE transition=fade
+# terminology
+
+what is a log?
+
+.notes TODO
+
+!SLIDE transition=fade
+# Event == Log
+
+* Timestamp
+* Data
+
+That's it.
+
+!SLIDE transition=fade
+# Log Design
+
+* who is the target audience?
+* is it structured or unstructurd?
+
+!SLIDE transition=fade
+# Types of Logs
+
+* Trace, debug
+* Transaction, replay, replication
+* Accounting
+
+Differences are usually in target audience.
+
+!SLIDE transition=fade
+# Trace Logs
+
+* `printf("Opening file: %s\n", file)`
+* `logger.info("Error acquiring lock")`
+
+!SLIDE transition=fade
+# Trace Logs
+
+* Target Audience: Domain Expert
+* Structured: Unlikely.
+* Often the author is the only one who can read these.
+
+!SLIDE transition=fade
+# Transaction Logs
+
+* mysql binlog
+* postgres write-ahead-log
+* hadoop editlog
+
+!SLIDE transition=fade
+# Transaction Logs
+
+* Audience: Computers
+* Structured: Yes.
+
+!SLIDE transition=fade
+# Accounting Logs
+
+* ad server click logs
+* online retail checkouts
+* customer logins
+
+!SLIDE transition=fade
+# Accounting Logs
+
+* Audience: Computers and Humans
+* Structured: Usually
@@ -0,0 +1,4 @@
+!SLIDE title
+# logs and logstash
+
+@jordansissel

0 comments on commit 6896dcc

Please sign in to comment.